2010-06-21 6 views
5

Estoy trazando un TimeTableXYDataset usando un StackedXYBarRenderer. Lamentablemente, los colores de cada serie cambian en la actualización.Asignar el nombre de la serie JFreeChart al índice de la serie

Sé cómo configurar los colores usando el método setSeriesPaint del procesador, pero toma un índice de serie entera como argumento. Creo mis puntos de datos utilizando una cadena como el nombre de la serie:

ds.add(new SimpleTimePeriod(us.getDate(), 
          new Date(us.getDate().getTime() + 1000*60)), 
     us.getTotal(), us.getName())); 

Cómo buscar la correspondencia entre nombre de la serie y el índice de la serie para que pueda llamar setSeriesPaint?

Respuesta

3

El enfoque más fácil es actualizar un adecuado Map a medida que se acumulan los datos. Alternativamente, los métodos getSeriesKey() y indexOf() se pueden usar para convertir en cualquier dirección. Por ejemplo,

for (int i = 0; i < ds.getSeriesCount(); i++) { 
    String name = (String) ds.getSeriesKey(i); 
    System.out.println(ds.indexOf(name) + ": " + name); 
} 
+0

Gracias - eso funcionó. –

Cuestiones relacionadas