将JFreeChart系列名称映射到系列索引

时间:2010-06-21 07:44:16

标签: java jfreechart

我正在使用TimeTableXYDataset绘制StackedXYBarRenderer。不幸的是,每个系列的颜色在刷新时都会发生变化。

我知道如何使用渲染器的setSeriesPaint方法设置颜色,但是以整数系列索引作为参数。我使用字符串作为系列名称创建我的数据点:

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

如何发现系列名称和系列索引之间的映射,以便我可以调用setSeriesPaint

1 个答案:

答案 0 :(得分:4)

最简单的方法是在数据累积时更新合适的Map。或者,方法getSeriesKey()indexOf()可用于在任一方向转换。例如,

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