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.
[code]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();
}
}[/code]
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.