Java tutorial
/* Copyright (C) 2001-2012, Joao Medeiros, Paulo Vilela (grafix2.com) Este arquivo parte do programa Grafix2.com Grafix2.com um software livre; voc pode redistribui-lo e/ou modifica-lo dentro dos termos da Licena Pblica Geral GNU como publicada pela Fundao do Software Livre (FSF); na verso 2 da Licena. Este programa distribuido na esperana que possa ser til, mas SEM NENHUMA GARANTIA; sem uma garantia implicita de ADEQUAO a qualquer MERCADO ou APLICAO EM PARTICULAR. Veja a Licena Pblica Geral GNU para maiores detalhes. Voc deve ter recebido uma cpia da Licena Pblica Geral GNU junto com este programa, se no, veja uma cpia em <http://www.gnu.org/licenses/> */ package grafix.graficos.comparativo; import java.awt.geom.GeneralPath; import java.util.Vector; import org.jfree.chart.*; import org.jfree.chart.plot.XYPlot; import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer; import org.jfree.data.time.*; import org.jfree.data.xy.XYDataset; public class ConstrutorGraficoComparativos { private Vector<IndiceComparativo> indices; public ConstrutorGraficoComparativos(Vector<IndiceComparativo> indices) { this.indices = indices; } public JFreeChart criarJFreeChart() { XYDataset dataset = criarDataset(); JFreeChart chart = criarChart(dataset); return chart; } private static JFreeChart criarChart(XYDataset dataset) { JFreeChart chart = ChartFactory.createTimeSeriesChart("Comparativo da Evoluo de Papis", "Perodo", "Evoluo (%)", dataset, true, true, false); XYPlot plot = (XYPlot) chart.getPlot(); XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) plot.getRenderer(); GeneralPath zigzag = new GeneralPath(); zigzag.moveTo(-6.0f, 0.0f); zigzag.lineTo(-3.0f, 6.0f); zigzag.lineTo(3.0f, -6.0f); zigzag.lineTo(6.0f, 0.0f); renderer.setLegendLine(zigzag); return chart; } private XYDataset criarDataset() { TimeSeriesCollection tc = new TimeSeriesCollection(); for (IndiceComparativo elem : indices) { TimeSeries tSerie = elem.getTimeSeries(); tc.addSeries(tSerie); } return tc; } }