2013-12-16 75 views
2

我正在使用JFreeChart創建線圖。如何在JFreeChart中從o軸的X軸開始繪製線ChartFactory.createLineChart

折線圖正確繪製,但我想從第0點開始。我該怎麼做?

public void lineChart() 
{ 
     CategoryDataset ds=createDataset2(); 
     chart2=ChartFactory.createLineChart("Bar Chart", "OPD Number", "Weight", ds,PlotOrientation.VERTICAL,true,true,false); 

     ChartPanel cp = new ChartPanel(chart2); 
     jp.add(cp);      //jp is JPanel 
    } 
    public CategoryDataset createDataset2() 
    { 
     final DefaultCategoryDataset dataset= new DefaultCategoryDataset(); 
     final String series1 = "Type1"; 
     OPDDetailBean ob=new OPDDetailBean(); 
     ArrayList<OPDDetailBean> aob=new ArrayList<OPDDetailBean>(); 
     aob=ob.searchOPDDetails("5"); 
     for(int i=0;i<aob.size();i++) 
     { 
      dataset.addValue(Integer.parseInt(aob.get(i).getWeight()), series1, ""+(i+1));  
     } 
     return dataset; 
    } 

這給輸出..

enter image description here

,我要像輸出。

enter image description here

+1

圖像顯示標題 「條形圖」 ....抱歉其 「線圖」 –

+0

dataset.addValue(的Integer.parseInt(aob.get(ⅰ).getWeight()) ,series1,「」+(i + 1)); <---爲什麼你使用(i + 1)作爲列值? – StanislavL

+0

我正在瀏覽演示,並且沒有看到您希望的輸出發生的任何示例。雖然我看到它使用'XYPLot'實現了 –

回答

3

「1」, 「2」, 「3」, 「4」 和 「5」 是在您的示例類別。你沒有一個類別「0」,所以不能有一條線。如果您希望0位於圖的左邊界,請添加一個類別「0」並調整軸邊距。或者可能更好:使用來自ChartFactory的XYPlot和相應的方法,如createXYLineChart()

HTH,
- 馬丁