JFreeChart

0 respostas
A

Bom dia pessoal do GUJ.

Estou estudando o JFreeChart, pois preciso plotar uns resultados. Eu usava o Matlab, mas como comecei a implementar
o programa que gera estes resultados em Java, procurei ver as bibliotecas que pudessem fazer este plot. Descobri o JFreeChart e
comecei a ver os exemplos e um tutorial disponibilizado qdo vc baixa esta biblioteca. Estou usando a classe Chart , mais precisamente
XYStepChart. Consegui plotar os resultados, mas ainda não tenho muito conhecimento sobre esta biblioteca. O código abaixo é o que eu
descobri e estou usando para plotar os resultados.

public class XYStepChartDemo1 {
  
    private ChartFrame frame = null;
   
    private void displayChart() {

        if (this.frame == null) {

            final String title = "Conformação de um anticorpo";
            final String xAxisLabel = " ";
            final String yAxisLabel = " ";

            final XYDataset data = createStepXYDataset();

            final JFreeChart chart = ChartFactory.createXYStepChart(
                title,
                xAxisLabel, yAxisLabel,
                data,
                PlotOrientation.VERTICAL,
                true,  
                true,  
                false  
            );

            chart.setBackgroundPaint(new Color(216, 216, 216));
            final XYPlot plot = chart.getXYPlot();
            plot.getRenderer().setSeriesStroke(0, new BasicStroke(2.0f));           

            this.frame = new ChartFrame("Conformação", chart);
            this.frame.pack();
            RefineryUtilities.positionFrameRandomly(this.frame);
            this.frame.setVisible(true);

        }
        else {
            this.frame.setVisible(true);
            this.frame.requestFocus();
        }

    }

    public static XYDataset createStepXYDataset() {

        final XYSeries s1 = new XYSeries("Anticorpo", false, true);
        s1.add(0, 0);
        s1.add(1, 0);
        s1.add(2, 0);
        s1.add(2, 1);
        s1.add(3, 1);
        s1.add(3, 2);
        s1.add(2, 2);
        s1.add(2, 3);
        s1.add(1, 3);
        s1.add(1, 2);


        final XYSeriesCollection dataset = new XYSeriesCollection();
        dataset.addSeries(s1);
        return dataset;
    }


    public static void main(final String[] args) {

        final XYStepChartDemo1 demo = new XYStepChartDemo1();
        demo.displayChart();

    }

}

Estou estudando ele e entendendo os métodos e as classes utilizadas. O problema é que na hora de gerar o gráfico
eu preciso que o range dos eixos seja maior que os valores que aparecem. No código os valores para x variam de
0 a 3, mas o gráfico deve ter o eixo x com valores entre -1 e 5. Já busquei no javadoc da classe XYPlot mas não descobri nada.
Se alguém puder ajudar agradeço.

Criado 12 de agosto de 2010
Respostas 0
Participantes 1