JFreeChart - Inserir mais de um conjunto de valores no DefaultCategoryDataset

0 respostas
levimendes

Olá pessoal, alguém sabe me dizer como eu faço (se for possível) para inserir mais de um conjunto de valores no gráfico DefaultCategoryDataset?

No caso que eu postei, o gráfico conterá apenas dados para o “maximo”, ou seja, uma única linha representando um conjunto de valores.
Eu preciso ter vários conjuntos de valores no gráfico, por exemplo:

Cada conjunto de dados deve ser representado por uma linha.
Vocês sabem me dizer se é possível fazer isso com esse tipo de gráfico?

Thanks in advance.

package testes;

import java.awt.FlowLayout;

import javax.swing.JFrame;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;

public class TesteDefaultCategoryDataset {

	public static void main(String[] args) {
		DefaultCategoryDataset dataset = new DefaultCategoryDataset();
		
		//adiciona os valores ao dataset
		dataset.addValue(10.5, "maximo", "dia 1");
		dataset.addValue(33.8, "maximo", "dia 2");
		dataset.addValue(80.5, "maximo", "dia 3");
		dataset.addValue(42.10, "maximo", "dia 4");
		dataset.addValue(20.80, "maximo", "dia 5");
		dataset.addValue(50.0, "maximo", "dia 6");
		
		JFreeChart chart = ChartFactory.createLineChart("titulo", "AxisLabel", "valueAxisLabel", 
							dataset, PlotOrientation.VERTICAL, true, true, false);
		
		//monta a estrutura da Janela
		JFrame frame = new JFrame("Teste DefaultCategoryDataset.");
		frame.setSize(600, 600);
		frame.setLocationRelativeTo(null);
		frame.setLayout(new FlowLayout());
		
		//monta a estrutura do painel que irá receber o gráfico
		//recebendo o gráfico pelo construtor 
		ChartPanel chartPanel = new ChartPanel(chart);
		chartPanel.setSize(300, 300);
		frame.add(chartPanel);
		
		frame.setVisible(true);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
}
Criado 27 de outubro de 2011
Respostas 0
Participantes 1