2014-03-29 74 views
0

我有一個程序繪製一個多項式,由牛頓插值計算。 我正在添加點,這個程序繪製計算多項式。但我有點(0,0)的問題,我總是得到這一點,但我不應該。 這裏的示例屏幕從方案:JFreeChart XY繪圖點(0,0)總是繪圖

http://i.imgur.com/8dHGmAP.png

和我計算X碼[]和y []

public void calculate(){ 
    if(listaPunktow.size()>1){ 
     double dolX=minimumX(); 
     double goraX=maksimumX(); 
     double dolY=minimumY(); 
     double goraY=maksimumY(); 
     int szerokosc=wykresPanel.getWidth(); 
     wykresPanel.domainAxis.setRange(dolX, goraX); 
     wykresPanel.rangeAxis.setRange(dolY, goraY); 
     double skala = wykresPanel.domainAxis.getRange().getLength(); 
     x=new double[szerokosc]; 
     y=new double[szerokosc]; 
     double k=dolX; 
     for(int i=-wykresPanel.getWidth()/2; i<wykresPanel.getWidth()/2-25; i++){ 
      k+=skala/szerokosc; 

      x[i+wykresPanel.getWidth()/2]=k; 
      double wartoscY=interpolacja.valueInX(k, listaPunktow); 
      y[i+wykresPanel.getWidth()/2]=wartoscY; 
      System.out.println("x="+k+" y="+wartoscY); 
     } 
     wykresPanel.createSeries(x, y); 

    } 

我得到這個輸出對於x []和y []

http://pastebin.com/pKZ8SAE5

請告訴我如何解決這一問題(0,0)點

回答

1

猜測將是你的x[]和​​陣列的最後一個項目是從來沒有在你的循環填充,因此採用默認值0.0,那麼你createSeries()方法增加該項目的數據集。

+0

謝謝,固定 – laughter