Subscript in Axis description

前端 未结 3 1857
暗喜
暗喜 2020-12-11 21:08

I wanted to know if it is possible to use subscript in axis description. I have the following code

    XYItemRenderer lineYY = new StandardXYItemRenderer();
         


        
相关标签:
3条回答
  • 2020-12-11 21:49

    You can try to use unicode values for the subscript/superscript - these should be respected by the Graphics2D rendering of the axis label (via Graphics2D.drawString method). For instance 'X\u2089' would be rendered similar to X₉. This is of course dependent on the Unicode subscript value existing as well as java supporting it.

    0 讨论(0)
  • 2020-12-11 22:10

    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);
    

    image

    0 讨论(0)
  • 2020-12-11 22:10

    I am not sure about jFreeChart, but a pure java string could bear that, please try:

    final NumberAxis yaxY = new NumberAxis("a\u2093 [m/s²]");
    

    see: http://www.fileformat.info/info/unicode/char/2093/index.htm

    0 讨论(0)
提交回复
热议问题