Легенда скрывает диаграмму, созданную с помощью JFreeChart - PullRequest
0 голосов
/ 01 апреля 2012

Мне нужно создать диаграмму, используя библиотеку 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 Ответ

1 голос
/ 03 апреля 2012

Легенды отображаются в LegendTitle, первый Title добавляется к List subtitles, когда экземпляр JFreeChart создается с параметром createLegend, установленным в true. Поскольку JFreeChart не является Container и Title a Component, добавление LegendTitle к JScrollPane не поддерживается.

Вы всегда можете вызвать getLegendItems() и отобразить элементы в Scrollable Container, например, JList или JTable. Чтобы избежать дублирования, установите createLegend на false.

...