I wanted to know if it is possible to use subscript in axis description. I have the following code
XYItemRenderer lineYY = new StandardXYItemRenderer();
lineYY.setSeriesPaint(0, Color.BLUE);
lineYY.setSeriesVisibleInLegend(0,false);
final NumberAxis yaxY = new NumberAxis("ax [m/s²]");
yaxY.setRange(-11, 11);
yaxY.setAutoRangeIncludesZero(false);
XYPlot plotYY = new XYPlot(datasetY,null,yaxY, lineYY);
plotYY.setRangeAxisLocation(AxisLocation.TOP_OR_LEFT);
Is there a way to subscript the x in the String "ax [m/s²]"? An subscript would be e.g. X₉
Using the approach shown here, you can specify an AttributedString
for the desired axis label. Given a NumberAxis
named domain
, the example below uses TextAttribute
values to alter the SIZE
and WEIGHT
of some characters, subscripts the second character and superscripts the exponent.
String s = "ax [m/s2]";
AttributedString as = new AttributedString(s);
as.addAttribute(TextAttribute.SIZE, 24, 0, 2);
as.addAttribute(TextAttribute.SIZE, 16, 3, 9);
as.addAttribute(TextAttribute.WEIGHT, TextAttribute.WEIGHT_BOLD, 0, 2);
as.addAttribute(TextAttribute.SUPERSCRIPT, TextAttribute.SUPERSCRIPT_SUB, 1, 2);
as.addAttribute(TextAttribute.SUPERSCRIPT, TextAttribute.SUPERSCRIPT_SUPER, 7, 8);
domain.setAttributedLabel(as);