E ai cs santos, mais uma vez obrigado. No código vou tentar me explicar melhor …
[code]import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.io.;
import java.util.;
import java.lang.NumberFormatException;
import java.text.NumberFormat;
import java.text.MessageFormat;
import java.awt.Font;
import javax.swing.JFrame;
import javax.swing.JPanel;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PiePlot;
import org.jfree.data.general.DefaultPieDataset;
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.chart.renderer.xy.StandardXYItemRenderer;
import org.jfree.data.*;
import org.jfree.data.xy.XYDataset;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;
import org.jfree.data.DomainOrder;
import org.jfree.data.general.SeriesDataset;
import org.jfree.data.category.DefaultCategoryDataset;
public class novografico extends JFrame{
public novografico(String title) throws Exception{
super(title);
XYDataset dataset = createDataset();
JFreeChart chart = createChart(dataset);
ChartPanel chartPanel = new ChartPanel(chart);
chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
setContentPane(chartPanel);
chartPanel.setMouseZoomable(true, false);
}
// Bom, aqui leio um arquivo de uma tabela em txt (cada linha com 4 colunas de números), salvo-o em uma string e em seguida em uma string
// array, de 4 elementos. Depois converto cada elemento da string para double (não sei se estou sendo muito burro, mais sou iniciante em java …)
// O que estou tentando fazer é pegar duas dessas colunas (agora em double) e colocar nos pontos do método series.add abaixo
// Acho que vou ter que fazer um loop de alguma maneira, e depois fazer o q vc sugeriu … Mas o loop que eu fiz sobrescreve as variáveis
// Minha tentativa …
/* public extrator extract(String) throws Exception {
File arquivo = new File(“C:\Documents and Settings\Henrique\Meus documentos\Rodrigo\Primeiras Medidas\RLCSerieTeste.txt”);
FileInputStream in = new FileInputStream(arquivo);
InputStreamReader conversor = new InputStreamReader(in);
BufferedReader bf = new BufferedReader(conversor);
String linha;
String[] elemento;
linha = bf.readLine();
elemento = linha.split("[\s]+");
bf.close();
in.close();return
*/
private XYDataset createDataset() throws Exception {
//CONVERT STRING TO DOUBLE
//double elemento0;
//elemento0 = Double.parseDouble(elemento[0]); /* elemento[0] é uma string*/
XYSeries series1 = new XYSeries("TRZ");
series1.add(1.0, 1.0); // alguns pontos que coloquei para testar se o programa está plotando, e está
series1.add(2.0, 4.0);// acho que teria que fazer um loop para não ter que colocar um a um; afinal são mais de 100 ...
series1.add(3.0, 3.0);
series1.add(4.0, 5.0);
series1.add(5.0, 5.0);
series1.add(6.0, 7.0);
series1.add(7.0, 7.0);
series1.add(8.0, 8.0);
XYSeriesCollection dataset = new XYSeriesCollection();
dataset.addSeries(series1);
return dataset;
}
// ListDouble colunas = new ArrayListDouble();
//public ListDouble getColunas(){
// return colunas;
// }
private JFreeChart createChart(XYDataset dataset) {
// create the chart...
JFreeChart chart = ChartFactory.createXYLineChart(
"Medida", // chart title
"X", // x axis label
"Y", // y axis label
dataset, // data
PlotOrientation.VERTICAL,
true, // include legend
true, // tooltips
false // urls
);
return chart;
}
public static void main(String[] args) throws Exception {
novografico teste = new novografico("teste");
teste.pack();
teste.setVisible(true);
}
}[/code]
Bom, espero que eu tenha sido mais claro, e se vc puder me ajudar ficarei muito grato.
Valeu mesmo cara
Abraços