Dúvida em Criar Gráfico com JFreeChart [RESOLVIDO]

4 respostas
DiegoFroes

Olá pessoal, estou com uma dúvida em como gerar um gráfico em JFreeChart da seguinte forma:

Pegas os seguintes valores:

Ponto 1 = (3, 4);

Ponto 2 = (2, 2);

Ponto 3 = (4, 1);

Ponto 4 = (3, 2);

Plotar no gráfico, porém, nada de gráfico pizza, barrar ou com pontos com uma linha unindo eles. Teria como só plotar os pontos do jeito que mostrar a imagem acima!???
Se alguém poder me ajudar!!!

4 Respostas

R

Talvez o link abaixo lhe seja útil:
http://www.java2s.com/Code/Java/Chart/JChartsPointChart.htm

DiegoFroes

O Link é só uma biblioteca do JCharts e não um exemplo para implementar o gráfico!!
Mas valeu!!!

DiegoFroes
Consegui resolver meu problema: Entrando no site [url]http://www.jfree.org/jfreechart/index.html[/url], na seção Semples figura ScatterPlot. Para quem tiver a mesma dúvida segue um código:
public class PlotTest {
    private XYSeriesCollection dataset;

    public static void main (String[] args) {
        new PlotTest();
    }

    public PlotTest () {
        dataset = new XYSeriesCollection();
        XYSeries data = new XYSeries("data");
        data.add(3, 2); //Point 1
        data.add(1, 1); //Point 2
        data.add(4, 1); //Point 3
        data.add(2, 2); //Point 4
        dataset.addSeries(data);
        showGraph();
    }

    private void showGraph() {
        final JFreeChart chart = createChart(dataset);
        final ChartPanel chartPanel = new ChartPanel(chart);
        chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
        final ApplicationFrame frame = new ApplicationFrame("Title");
        frame.setContentPane(chartPanel);
        frame.pack();
        frame.setVisible(true);
    }

    private JFreeChart createChart(final XYDataset dataset) {
        final JFreeChart chart = ChartFactory.createScatterPlot(
            "Title",                  // chart title
            "X",                      // x axis label
            "Y",                      // y axis label
            dataset,                  // data
            PlotOrientation.VERTICAL,
            true,                     // include legend
            true,                     // tooltips
            false                     // urls
        );
         
        // Comentando essas linhas abaixo;
        XYPlot plot = (XYPlot) chart.getPlot();
        XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
        renderer.setSeriesLinesVisible(0, true);
        plot.setRenderer(renderer);
        // Até aqui

        return chart;
    }

}

Espero ter ajudado!!
Ate mais!!

Dagson

Ola Diego beleza?

O gráfico gerado pelo seu código não estar conforme a figura que você postou.

Conseguir gerar o gráfico, mas preciso colocar pontos menores (tamanho menor do ponto), pois
meu gráfico tem muitos pontos e com esse tipo de ponto fica muito embolado os pontos.

caso você tenha uma alternativa fico no aguardo.

Abraços

Criado 27 de março de 2013
Ultima resposta 16 de nov. de 2014
Respostas 4
Participantes 3