开发者

Mapping JFreeChart Series Name to Series Index

I'm plotting a Tim开发者_Go百科eTableXYDataset using a StackedXYBarRenderer. Unfortunately the colours of each series change on refresh.

I know how to set colours using the setSeriesPaint method of the renderer, but that takes an integer series index as the argument. I create my datapoints using a string as the series name:

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

How do I discover the mapping between series name and series index so I can call setSeriesPaint?


The easiest approach is to update a suitable Map as the data accumulates. Alternatively, the methods getSeriesKey() and indexOf() may be used to convert in either direction. For example,

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜