Как установить размер графика в JFreeChart?

Я создаю JFreeChart следующим образом (см. ниже). По оси x мне нужно показать около 1000 тиков. Итак, вот почему я помещаю JFreeChart в JScrollPane. Когда я пытаюсь установить WIDTH панели диаграммы на 2000, график не имеет пропорционального размера. Есть ли способ определить ШИРИНУ участка (XYPlot).

    XYDataset dataset = createData(data);
    JFreeChart chart = createChart(dataset);
    final ChartPanel chartPanel = new ChartPanel(chart);
    chartPanel.setPreferredSize(new Dimension(2000, this.height));
    JScrollPane scrl = new JScrollPane(chartPanel);     
    scrl.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); 
    scrl.setViewportView(chartPanel);
    scrl.setPreferredSize(new Dimension(this.width, this.height));
    this.add(scrl);

person Klausos Klausos    schedule 25.03.2014    source источник


Ответы (1)


Пока я нашел ответ, который помог решить проблему. Однако, возможно, есть лучшее решение:

// The first step is to avoid scaling up a small chart.
// The value of "MaximumDrawWidth" should be large, for instance 4000
chartPanel.setMaximumDrawWidth(4000);  
// The second step is to set the width of a chart panel.
chartPanel.setPreferredSize(new Dimension(2000,this.height));
person Klausos Klausos    schedule 25.03.2014