Как да задам размера на графика в 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