2010-06-21 71 views
5

我正在使用StackedXYBarRenderer來繪製TimeTableXYDataset。不幸的是,每個系列的顏色都會在刷新時改變將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

謝謝 - 這個伎倆。 – 2010-06-21 19:57:20

相關問題