我要使用库JFreeChart
创建一个图表,我试试这个:
TimeSeriesCollection dataset = new TimeSeriesCollection();
ArrayList<MyObject> list = this.FillArray();
MyObject tmp;
String date[];
for(int i=0;i<list.size();i++){
tmp = list.get(i);
ArrayList<MyObject1> obj = this.FillArray1(tmp);
TimeSeries pop = new TimeSeries(tmp.getName(),Day.class);
for(MyObject1 ob1 : obj){
date = ob1.getDate().split("-");
Day day = new Day(Integer.parseInt(date[0]), Integer.parseInt(date[1]), Integer.parseInt(date[2]));
pop.addOrUpdate(day, ob1.getValue());
}
dataset.addSeries(pop);
}
当对象的数量非常高并且图例将覆盖面板图时,我的问题就出现了。我能做什么?可以在图例中添加滚动窗格吗?
答案 0 :(得分:1)
在LegendTitle
实例构建Title
参数设置为{{List subtitles
时,图例以JFreeChart
呈现,createLegend
添加到true
1}}。由于JFreeChart
不是Container
,Title
也不是Component
,因此不支持向LegendTitle
添加JScrollPane
。
您始终可以调用getLegendItems()
并在Scrollable
Container
中呈现项目,例如JList
或JTable
。为避免重复,请将createLegend
设置为false
。