传奇标签之间的JFreeChart差距

我一直在使用JFreeChart来绘制一些系列,但我怀疑与图例中标签之间的空间有关。

有谁知道如何在传说之间设置空格? 例如,现在:

传说之间没有空格

这就是我想要它的样子

传说之间的空间

我将感激你的帮助。

只需转到代码中设置图例项目的位置,然后将"2012"更改为

"2012 "

您可以在LegendTitle类中使用setItemLabelPadding()方法。

 LegendTitle legend = chart.getLegend(); legend.setItemLabelPadding(new RectangleInsets(2, 2, 2, 30)); 

这种方法的唯一问题是它还会在图例的每一行中的最后一项之后留下空格。

如果您不介意更复杂,可以删除默认图例并创建一个新的图例,其中包含为布局指定的几个参数:

 chart.removeLegend(); FlowArrangement hlayout = new FlowArrangement( HorizontalAlignment.CENTER, VerticalAlignment.CENTER, 20, 2); LegendTitle legend = new LegendTitle(r, hlayout, new ColumnArrangement()); legend.setPosition(RectangleEdge.BOTTOM); chart.addLegend(legend); 

当图例位于图表的顶部或底部时,图例需要水平布局;当图例位于图表的左侧或右侧时,图例需要垂直布局。 这里我们只定制了水平布局,指定了项目应该具有流布局,在每个项目之间以20的间隙为中心,如果是包裹线条,则在线条之间间隔为2。 我认为这会得到你要求的结果。