如何在列中显示饼图的图例?

我有一个有很多部分的PieChart,这个PieChart的图例呈现为一行。 如何将图例渲染为两列?

此处显示的方法getLegendItem()提供了在您选择的任何Container呈现图例项所需的所有信息。 GridLayout(0, 2)将它们排列成两列,用于任意数量的行。 要禁止现有图例,请在调用图表工厂时将legend设置为false ; 这些项目仍然可用,如此处所示 。

附录:基于getLegendItems().iterator ,此片段使用getLegendItems().iterator和此ColorIcon的变体。

传奇形象

 public static JPanel createDemoPanel() { JPanel panel = new JPanel(); JFreeChart chart = createChart(createDataset()); panel.add(new ChartPanel(chart)); panel.add(createLegendPanel((PiePlot) chart.getPlot())); return panel; } private static JPanel createLegendPanel(PiePlot plot) { JPanel panel = new JPanel(new GridLayout(0, 2, 5, 5)); Iterator iterator = plot.getLegendItems().iterator(); while (iterator.hasNext()) { LegendItem item = (LegendItem) iterator.next(); JLabel label = new JLabel(item.getLabel()); label.setIcon(new ColorIcon(8, item.getFillPaint())); panel.add(label); } return panel; } 

看看这个post: 链接

看起来像你正在寻找的东西。 如果没有,请发布更多信息或截图,了解您拥有的和所需的信息。