图例隐藏了使用JFreeChart创建的图表

时间:2012-04-01 13:50:48

标签: jscrollpane jfreechart legend

我要使用库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);
    }

当对象的数量非常高并且图例将覆盖面板图时,我的问题就出现了。我能做什么?可以在图例中添加滚动窗格吗?

1 个答案:

答案 0 :(得分:1)

LegendTitle实例构建Title参数设置为{{List subtitles时,图例以JFreeChart呈现,createLegend添加到true 1}}。由于JFreeChart不是ContainerTitle也不是Component,因此不支持向LegendTitle添加JScrollPane

您始终可以调用getLegendItems()并在Scrollable Container中呈现项目,例如JListJTable。为避免重复,请将createLegend设置为false