如何在JFreeChart中设置绘图的大小?

时间:2014-03-25 11:46:48

标签: java plot size jfreechart

我正在创建JFreeChart,如下所示(见下文)。在x轴上,我需要显示大约1000个刻度。所以,这就是我将JFreeChart放入JScrollPane的原因。当我尝试将图表面板的宽度设置为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);

1 个答案:

答案 0 :(得分:0)

到目前为止,我找到了一个有助于解决问题的答案。但是,也许有更好的解决方案:

// 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));