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

Adr*_*Cox 6 java jfreechart

我正在密谋TimeTableXYDataset使用a StackedXYBarRenderer.不幸的是,每个系列的颜色在刷新时都会改变

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

ds.add(new SimpleTimePeriod(us.getDate(), 
                            new Date(us.getDate().getTime() + 1000*60)),
       us.getTotal(), us.getName()));
Run Code Online (Sandbox Code Playgroud)

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

tra*_*god 5

最简单的方法是Map在数据累积时更新合适的数据。可替代地,该方法getSeriesKey()indexOf()可用于在任一方向上进行转换。例如,

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