2012-12-05 95 views
2

我设法绘制了一个线性图。以下是代码:如何使用JFreeChart绘制曲线?

private JPanel createGraph() { 

     JPanel panel = new JPanel(); 
     XYSeries series = new XYSeries("MyGraph"); 
     series.add(0, 1); 
     series.add(1, 2); 
     series.add(2, 5); 
     series.add(7, 8); 
     series.add(9, 10); 


     XYSeriesCollection dataset = new XYSeriesCollection(); 
     dataset.addSeries(series); 

     JFreeChart chart = ChartFactory.createXYLineChart(
       "XY Chart", 
       "x-axis", 
       "y-axis", 
       dataset, 
       PlotOrientation.VERTICAL, 
       true, 
       true, 
       false 
       ); 
     ChartPanel chartPanel = new ChartPanel(chart); 


     panel.add(chartPanel); 

     return panel; 
    } 

但是,它不是一条光滑的曲线,而是直线。我怎样才能让它顺利?

+0

没有看到图表本身,我认为是因为它应该是如何。如果你想要一条曲线,你应该在最终形成一条曲线的图上增加更多的点。 – Averroes

+0

我的图表与此类似:http://www.java2s.com/Code/Java/Chart/JFreeChartXYSeriesDemo.htm – Goaler444

回答

4

我相信你正在寻找XYSplineRenderer 图表构造后,你应该能够做到

chart.getXYPlot().setRenderer(new XYSplineRenderer());