我正在创建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);
答案 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));