Jfree 图表值轴标签被裁剪

时间:2021-05-13 03:52:20

标签: java jfreechart

我正在使用 jfree 图表绘制条形图和折线图。
价值轴之一是具有不适合的大标签。 标签假定为温室气体排放量(吨)。 无法找到控制标签宽度或包装标签的方法。

final JFreeChart chart = ChartFactory.createBarChart(chartDetails.getTitle(),
     chartDetails.getCategoryAxisLabel(), chartDetails.getValueAxisLabelLabelOne(),
     dataSets.get(0), 
     PlotOrientation.VERTICAL, false, 
     true, 
     false 
 );
 
 
final ValueAxis rangeAxis = new NumberAxis(chartDetails.getValueAxisLabelLabelTwo());
plot.setRangeAxis(1, axis2);
final Font yaxisFont = getFont(yaxisFontAttibutes, xfactor);
rangeAxis.setLabelFont(yaxisFont);
rangeAxis.setLabelPaint(Color.decode(yaxisFontAttibutes.getColor()));
rangeAxis.setTickLabelFont(yaxisFont);
rangeAxis.setTickLabelPaint(Color.decode(yaxisFontAttibutes.getColor()));
rangeAxis.setLabelFont(yaxisFont);
rangeAxis.setAxisLineVisible(false);
rangeAxis.setLabelInsets(new RectangleInsets(2, 2, 2, 2));

return chart.createBufferedImage((int) (chartAttributes.getWidth() * xfactor),
     (int) chartAttributes.getHeight() * xfactor);

尝试使用 LabelInsets 但没有用。
注意:我不想增加高度
任何示例代码都会有很大帮助。 谢谢

enter image description here

我已经将标签设置为高端并旋转了它。
但结果并不理想。

 rangeAxis.setLabelLocation(AxisLabelLocation.HIGH_END);
    rangeAxis.setLabelAngle(135); 

After rotating

0 个答案:

没有答案