Necesito ocultar cada artículo de segundo/tercer/cuarto de la leyenda. ¿Hay alguna manera de lograr esto en jFreeChart? gracias!jFreeChart: ¿Cómo ocultar elementos de la leyenda?
6
A
Respuesta
4
bien, solo lo hice yo mismo. De esta forma elimino cada segundo artículo de la leyenda. ¡por favor deje comentarios!
LegendItemCollection legendItemsOld = plot.getLegendItems();
final LegendItemCollection legendItemsNew = new LegendItemCollection();
for(int i = 0; i< legendItemsOld.getItemCount(); i++){
if(!(i%2 == 0)){
legendItemsNew.add(legendItemsOld.get(i));
}
}
LegendItemSource source = new LegendItemSource() {
LegendItemCollection lic = new LegendItemCollection();
{lic.addAll(legendItemsNew);}
public LegendItemCollection getLegendItems() {
return lic;
}
};
chart.addLegend(new LegendTitle(source));
9
He intentado la sugerencia anterior pero no pareció funcionar para mí. Si solo desea eliminar series de la leyenda, puede hacerlo con el método setSeriesVisibleInLegend()
. Mi caso es que algunas de mis series no tienen una clave de leyenda. Si no tienen una clave de leyenda, entonces la serie no debería estar visible en la leyenda. He implementado esto con el siguiente código:
for(int i = 0; i < seriesList.size(); i++){
if(seriesList.get(i).getKey() == null || seriesList.get(i).getKey().equals("")){
graph.getXYPlot().getRenderer().setSeriesVisibleInLegend(i, Boolean.FALSE);
}
}
El seriesList
es una lista de seriesData
de POJO que creé que contiene todos los datos del gráfico para crear el gráfico. Si el valor de la clave del objeto seriesData
es null
o = ""
, la serie no será visible en la leyenda.
Cuestiones relacionadas
- 1. Cómo ocultar JFreeChart XYSeries yaxis?
- 2. Incrustar la leyenda en el área de trazado de JFreeChart
- 3. Mostrar/ocultar la leyenda de un gráfico
- 4. cómo especificar la posición y el diseño de una leyenda del gráfico JFreeChart
- 5. ¿Cómo puedo ocultar la parte de la leyenda usando ggplot2?
- 6. Ocultar la leyenda en Google Chart
- 7. Ocultar la leyenda de formulario HTML con CSS
- 8. Ocultar una serie de Highcharts sin utilizar la leyenda
- 9. jqPlot - ¿Cómo añadir a la barra de desplazamiento vertical cuadro de la leyenda que contiene muchos elementos de leyenda
- 10. ¿Cómo puedo personalizar las posiciones de los elementos de leyenda?
- 11. ¿Cómo ocultar elementos en el diseño gráfico?
- 12. Google Charts Mostrar elementos vacíos en la leyenda
- 13. histograma en jfreechart
- 14. ¿Es posible agregar Legend a la gráfica en JFreeChart?
- 15. jqPlot - Pie leyenda demasiado alto cuando hay muchos elementos de leyenda
- 16. Jfreechart selection
- 17. WPF - ocultar elementos del cuadro de lista
- 18. Javascript: Ocultar elementos por nombre de clase
- 19. ¿Alguna manera de ocultar elementos de la vista web? (Android)
- 20. ¿Cómo ocultar los elementos de opción/grupo de opciones?
- 21. ¿Cómo ocultar elementos con jQuery antes de que se procesen?
- 22. Ancho de la barra en Jfreechart
- 23. línea punteada en Jfreechart
- 24. Leyenda fuera de la tabla?
- 25. Cómo establecer la leyenda alfa con ggplot2
- 26. Ocultar desbordamiento en elementos con posición fija
- 27. ¿Hay alguna forma de cambiar el espacio entre los elementos de la leyenda en ggplot2?
- 28. Winforms: cómo mostrar/ocultar elementos en el diseñador
- 29. JFreeChart con SWT
- 30. Ayuda con superposición JFreeChart
Eso es bueno para una solución dinámica. También es posible usar renderer.getLegendItems() y plot.setFixedLegendItems(). Esto proporciona una solución más simple, pero solo es bueno si su leyenda no cambiará después de establecer la leyenda fija. No tengo tiempo para crear los detalles de la solución, pero busque getLegendItems y setFixedLegendItems en AbstractXYItemRenderer y XYPlot. – Jason