更改 jfreechart 的域轴标签和范围轴标签的字体大小

Posted

技术标签:

【中文标题】更改 jfreechart 的域轴标签和范围轴标签的字体大小【英文标题】:Change font-size of domain axis label and range axis label for jfreechart 【发布时间】:2014-02-19 12:20:30 【问题描述】:

我的目标是增加“Revenue ($)”和“Years”的大小。但是我不知道怎么做。我可以增加“Apples, Durians,Oranges”和“2012, 2013”​​。

以下是我的代码。

    JFreeChart chart = ChartFactory.createBarChart3D("", // chart title
                "Years", // domain axis label
                "Revenue ($)", // range axis label
                dataset, // data
                PlotOrientation.VERTICAL, // orientation
                false, // include legend
                false, // tooltips
                false);

CategoryPlot plot = chart.getCategoryPlot();
        CategoryAxis axis = plot.getDomainAxis();

        CategoryPlot p = chart.getCategoryPlot(); 
         ValueAxis axis2 = p.getRangeAxis();

        Font font = new Font("Dialog", Font.PLAIN, 25);
        axis.setTickLabelFont(font);
        Font font2 = new Font("Dialog", Font.PLAIN, 15);
        axis2.setTickLabelFont(font2);

        LegendTitle legend = new LegendTitle(plot.getRenderer());

        Font font3 = new Font("Dialog", Font.PLAIN, 20); 
        legend.setItemFont(font3); 
        legend.setPosition(RectangleEdge.BOTTOM); 
        chart.addLegend(legend); 

【问题讨论】:

找到答案的最快方法是阅读 API 文档 (jfree.org/jfreechart/api/javadoc/org/jfree/chart/axis/…) 并扫描所有 setXXX() 方法(包括继承的方法)。 setLabelFont() 应该是值得一试的。 另见Help with font size please 【参考方案1】:

使用

CategoryPlot plot = chart.getCategoryPlot();
Font font3 = new Font("Dialog", Font.PLAIN, 25); 
plot.getDomainAxis().setLabelFont(font3);
plot.getRangeAxis().setLabelFont(font3);

【讨论】:

以上是关于更改 jfreechart 的域轴标签和范围轴标签的字体大小的主要内容,如果未能解决你的问题,请参考以下文章

JFreeChart DTSC 上的自定义 X 轴标签

jfreechart 折线图x坐标轴标签太密集,标签重叠的问题

切换 JFreeChart 轴范围的上限

修复显示的轴比例范围

JfreeChart Axis 自定义精度或范围

在 R 中使用 ggplot 和拼凑更改轴标签和比例