Dúvidas sobre a criação de um gráfico de linhas

0 respostas
E

Boa tarde meu caros,

estou com um probleminha, tenho um código que cria um gráfico de linha, e outra que lê um arquivo txt.
Abaixo o código do gráfico:

package xyseries;    
   
/*   
*   
* @author eduardoesn   
*/   
import org.jfree.chart.ChartFactory;    
import org.jfree.chart.ChartPanel;    
import org.jfree.chart.JFreeChart;    
import org.jfree.chart.axis.NumberAxis;    
import org.jfree.chart.plot.PlotOrientation;    
import org.jfree.chart.plot.XYPlot;    
import org.jfree.data.xy.XYSeries;    
import org.jfree.data.xy.XYSeriesCollection;    
import org.jfree.ui.ApplicationFrame;    
import org.jfree.ui.RefineryUtilities;    
import lertxt.LerTxt;    

 
public class XYSeriesDemo extends ApplicationFrame {    
 
 
public XYSeriesDemo(final String title) {    
     
super(title);    
       
final XYSeries series = new XYSeries ("Flat Data");    
        
series.add(3.0, 110.0);    
series.add(2.5, 90.0);    
series.add(5.0, 105.0);    
series.add(8.7, 150.0);    
series.add(13.9,101.0);    
series.add(15.7, 100.0);    

final XYSeriesCollection data = new XYSeriesCollection(series);    
final JFreeChart chart = ChartFactory.createXYLineChart("XY Series Demo", "X", "Y",    
data,PlotOrientation.VERTICAL , true,true, false);    
final ChartPanel chartPanel = new ChartPanel(chart);    
chartPanel.setPreferredSize(new java.awt.Dimension (500, 270));    
       
setContentPane(chartPanel);    

}    
 
/**   
   
* @param args the command line arguments   
   
*/   

public static void main (final String[] args){    
     
final XYSeriesDemo demo = new XYSeriesDemo ("XY Series Demo");    
demo.pack();    
RefineryUtilities.centerFrameOnScreen(demo);    
demo.setVisible(true);    
    
}    
}

mas no lugar das series.add.... eu gostaria de colocar os valores lidos em um txt que tem o seguinte código e aparece da seguinte forma:

public class LerTxt { 
 
 
        
public static void main (String[] args) throws IOException{ 
 
//Lendo e imprimindo linhas de um arquivo-texto para a console: 
     
FileReader reader = new FileReader("log.txt"); 
BufferedReader br = new BufferedReader(reader); 
String linha; 
      
//int linhasLidas = 0; 
while ((linha = br.readLine())!= null ){ 
//System.out.println(linha); 

       
String[] items = linha.split(","); 

          
if(items.length > 1 && items[0].equals("104")) 
                
for (int i = 1; i < 5 && i < items.length; i++) 

                     
System.out.println(items[i]); 
           
System.out.println(); 
}        
} 
}

2009
63
1330
3.123

2009
63
1340
3.836

2009
63
1350
3.458

2009
63
1400
3.012

2009
63
1410
3.286

onde os três primeiros estarão no eixo x e o último número estará no eixo y, formando assim pares ordenados (x, y).

Alguém poderia me ajudar?
Desde já agradeço.

Criado 10 de março de 2009
Respostas 0
Participantes 1