Come visualizzare la legenda per il grafico a torta nelle colonne?

Ho un PieChart con molte sezioni, legenda per questo rendering PieChart come una riga. Come eseguire il rendering della legenda come due colonne?

Il metodo getLegendItem() , visto qui , fornisce tutte le informazioni necessarie per il rendering di un object legenda in qualsiasi Container scelto. GridLayout(0, 2) li sistemerà in due colonne per qualsiasi numero di righe. Per sopprimere la legenda esistente, imposta la legend su false quando chiami la tua fabbrica di carte; gli articoli saranno ancora disponibili, come suggerito qui .

Addendum: basato su PieChartDemo1 , questo frammento utilizza getLegendItems().iterator e una variante di questo ColorIcon .

immagine della leggenda

 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; } 

Dai un’occhiata a questo thread: Link

Sembra qualcosa che stai cercando. In caso contrario, pubblica più informazioni o screenshot di ciò che hai e di ciò di cui hai bisogno.