2010-06-21 2 views
5

Я рисую TimeTableXYDataset с помощью StackedXYBarRenderer. К сожалению, цвета каждой серии меняются при обновлении.Отображение серии JFreeChart Название по индексу серии

Я знаю, как установить цвета с использованием метода визуализации setSeriesPaint, но в качестве аргумента он принимает индекс целочисленной серии. Я создаю свои точки данных, используя строку в качестве названия серии:

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

Как обнаружить соответствие между названием серии и индексом серии, так что я могу назвать setSeriesPaint?

ответ

3

Самый простой способ - обновить подходящий Map по мере накопления данных. Альтернативно, способы getSeriesKey() и indexOf() могут использоваться для преобразования в любом направлении. Например,

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

Спасибо, что сделал трюк. –

Смежные вопросы