我在策划一场战争 TimeTableXYDataset StackedXYBarRenderer . 不幸的是,每个系列的颜色在刷新时都会发生变化。
TimeTableXYDataset
StackedXYBarRenderer
setSeriesPaint 方法,但它采用整数系列索引作为参数。我使用字符串作为序列名称创建数据点:
setSeriesPaint
ds.add(new SimpleTimePeriod(us.getDate(), new Date(us.getDate().getTime() + 1000*60)), us.getTotal(), us.getName()));
?
最简单的方法是更新一个合适的 Map 随着数据的积累。或者,方法 getSeriesKey() 和 indexOf() 可用于向任一方向转换。例如,
Map
getSeriesKey()
indexOf()
for (int i = 0; i < ds.getSeriesCount(); i++) { String name = (String) ds.getSeriesKey(i); System.out.println(ds.indexOf(name) + ": " + name); }