Cam*_*ilo 1 java swing jfreechart
我一直在使用JFreeChart以绘制一些系列,但我对图例中标签之间的空间有疑问。
有谁知道如何在图例之间设置空格?例如,现在:

这就是我想要的样子

我会感谢你的帮助。
您可以使用LegendTitle 类中的setItemLabelPadding()方法。
LegendTitle legend = chart.getLegend();
legend.setItemLabelPadding(new RectangleInsets(2, 2, 2, 30));
Run Code Online (Sandbox Code Playgroud)
这种方法的唯一问题是它还会在图例的每一行中的最后一项之后留下空格。
如果您不介意更复杂一点,您可以删除默认图例并使用为布局指定的几个参数创建一个新图例:
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);
Run Code Online (Sandbox Code Playgroud)
当图例位于图表的顶部或底部时需要水平布局,当它位于图表的左侧或右侧时需要垂直布局。此处我们仅自定义了水平布局,指定项目应具有流布局,居中,每个项目之间的间隙为 20,如果换行,则行之间的间隙为 2。我认为这得到了你要求的结果。
| 归档时间: |
|
| 查看次数: |
1835 次 |
| 最近记录: |