¿Cómo mostrar la leyenda para el gráfico circular en columnas?

Tengo un PieChart con muchas secciones, la leyenda para este PieChart se presenta en una sola fila. ¿Cómo renderizar la leyenda como dos columnas?

El método getLegendItem() , visto aquí , proporciona toda la información necesaria para representar un elemento de leyenda en cualquier Container que elija. GridLayout(0, 2) los organizará en dos columnas para cualquier cantidad de filas. Para suprimir la leyenda existente, establezca legend en false cuando llame a su fábrica de gráficos; los artículos seguirán estando disponibles, como se sugiere aquí .

Addendum: Basado en PieChartDemo1 , este fragmento usa el getLegendItems().iterator Y una variación de este ColorIcon .

imagen de la leyenda

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

Eche un vistazo a este hilo: Enlace

Parece algo que estás buscando. De lo contrario, publique más información o capturas de pantalla de lo que tiene y de lo que necesita.