Duvida com JFreeChart - BoxAndWhisker

0 respostas
R

Bom dia pessoal;

Já fiz várias pesquisas na internet e em foruns e não consegui encontrar nada que me auxiliase na confecção de um gráfico Box Plot, utilizando o JFreeChart.

Tenho uma tabela com 2 colunas, a primeira mostra uma descrição, que será a serie e na segunda coluna o valor da série. esta série pode ser uma ou várias.

Nos exemplos que vi na net, tenho que montar um List com 2 valores para passar ao gráfico, só não sei qual é o segundo valor ou como calculá-lo.
Se alguem poder me ajudar.

public ChartPanel getGraficoBoxPlot(){

        final BoxAndWhiskerCategoryDataset dataset = createDataset_BoxPlot();
        
        final CategoryAxis xAxis = new CategoryAxis("Type");
        final NumberAxis yAxis = new NumberAxis("Value");
        yAxis.setAutoRangeIncludesZero(true);
        final BoxAndWhiskerRenderer renderer = new BoxAndWhiskerRenderer();
        renderer.setFillBox(false);
        renderer.setToolTipGenerator(new BoxAndWhiskerToolTipGenerator());
        final CategoryPlot plot = new CategoryPlot(dataset, xAxis, yAxis, renderer);
        
        double max = getValorMax(3)+2;
        double min = getValorMin(3)-2;

        plot.getRangeAxis().setLowerBound(min);
        plot.getRangeAxis().setUpperBound(max);

        final JFreeChart chart = new JFreeChart("", new Font("SansSerif", Font.BOLD, 14), plot, true);

        chart.setBackgroundPaint(new Color(0xCC, 0xFF, 0xCC));

        ChartPanel chartPanel = new ChartPanel(chart);
        int largura = jPanel4.getWidth();
        int comprimento = jPanel4.getHeight()-50;
        chartPanel.setSize(new java.awt.Dimension(largura, (comprimento/2)));

        chartPanel.setMouseZoomable(true);

        chartPanel.setVisible(true);

        return chartPanel;
    }

    private BoxAndWhiskerCategoryDataset createDataset_BoxPlot()
    {
        DefaultBoxAndWhiskerCategoryDataset ds = new DefaultBoxAndWhiskerCategoryDataset();
        
        List list = new ArrayList();
        for (int l=0;l < tblResultado.getRowCount();l++)
        {
            
            Double valor1 = Double.parseDouble(tblResultado.getValueAt(l,10).toString());
            list.add(valor1);

            ds.add(list, tblResultado.getValueAt(0,7).toString(), "");

        }
        
        return ds;

    }

Lista de dados
[list]
Série, Valor
Serie 1, 3
Serie 1, 1
Serie 1, 2
Serie 1, 6
Serie 1, 2
Serie 1, 9
Serie 1, 3
Serie 1, 2
Serie 1, 1
Serie 1, 5
Serie 1, 4
Serie 1, 5
Serie 1, 4
Serie 1, 4
Serie 1, 8
Serie 1, 5
Serie 1, 4
Serie 1, 2
Serie 1, 5
Serie 1, 3
Serie 1, 4
Serie 1, 5
Serie 1, 3
Serie 1, 4
Serie 1, 1
Serie 1, 6
Serie 1, 4
Serie 1, 7
Serie 1, 5
Serie 1, 3
Serie 1, 3
Serie 1, 5
Serie 1, 5
Serie 1, 6
Serie 1, 5
Serie 1, 8
Serie 1, 8
[/list]

Criado 19 de dezembro de 2013
Respostas 0
Participantes 1