为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕神8447489 2019-11-04 12:58:51
我有一个包含很多部分的PieChart,此PieChart的图例显示为一行。如何将图例显示为两列?
查看完整描述

2 回答

?
饮歌长啸

TA贡献1951条经验 获得超3个赞

的方法getLegendItem(),看到这里,需要提供在任何渲染图例项目的所有信息,Container你自己选择。GridLayout(0, 2)会将它们分为两列,以任意数量的行。要取消显示现有图例,legend请false在调用图表工厂时将其设置为;该项目将仍然可用,如建议在这里。


附录:基于PieChartDemo1,此片段使用this的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;

}


查看完整回答
反对 回复 2019-11-04
?
蓝山帝景

TA贡献1843条经验 获得超7个赞

好像您要寻找的东西。如果没有,请发布更多信息或您所拥有和需要的屏幕截图。


查看完整回答
反对 回复 2019-11-04
  • 2 回答
  • 0 关注
  • 717 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信