2010-06-21 70 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

相关问题