Pessoal,
Estou trabalhando com JFreeChart consigo criar a gráfico e tudo mais, meu problema é, gostaria de customizar as cores das curvas(linhas) do gráfico, e percebi que o próprio FreeChart coloca as cores por padrão, alguém saberia como alterar ?
Abaixo o código que é um exemplo do próprio FreeChart
Valeu,
[code]package org.jfree.chart.demo;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Dimension;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.LineAndShapeRenderer;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.ui.ApplicationFrame;
/**
-
A simple demonstration application showing how to create a line chart using data from a
-
{@link CategoryDataset}.
*/
public class LineChartDemo1 extends ApplicationFrame {/**
- Creates a new demo.
-
@param title the frame title.
*/
public LineChartDemo1(final String title) {
super(title);
final CategoryDataset dataset = createDataset();
final JFreeChart chart = createChart(dataset);
final ChartPanel chartPanel = new ChartPanel(chart);
chartPanel.setPreferredSize(new Dimension(500, 270));
setContentPane(chartPanel);
}
/**
-
Creates a sample dataset.
-
@return The dataset.
*/
private CategoryDataset createDataset() {// row keys…
final String series1 = “Curva 1”;
final String series2 = “Curva 2”;
final String series3 = “Curva 3”;
final String series4 = “Curva 4”;
final String series5 = “Curva 5”;// column keys…
final String type1 = “Type 1”; // SUBSTITUIR PELO VETOR COM OS HORÁRIOS
final String type2 = “Type 2”;
final String type3 = “Type 3”;
final String type4 = “Type 4”;
final String type5 = “Type 5”;
final String type6 = “Type 6”;
final String type7 = “Type 7”;
final String type8 = “Type 8”;// create the dataset…
final DefaultCategoryDataset dataset = new DefaultCategoryDataset();dataset.addValue(1.0, series1, type1);
dataset.addValue(4.0, series1, type2);
dataset.addValue(3.0, series1, type3);
dataset.addValue(5.0, series1, type4);
dataset.addValue(5.0, series1, type5);
dataset.addValue(7.0, series1, type6);
dataset.addValue(7.0, series1, type7);
dataset.addValue(8.0, series1, type8);dataset.addValue(5.0, series2, type1);
dataset.addValue(7.0, series2, type2);
dataset.addValue(6.0, series2, type3);
dataset.addValue(8.0, series2, type4);
dataset.addValue(4.0, series2, type5);
dataset.addValue(4.0, series2, type6);
dataset.addValue(2.0, series2, type7);
dataset.addValue(1.0, series2, type8);dataset.addValue(4.0, series3, type1);
dataset.addValue(3.0, series3, type2);
dataset.addValue(2.0, series3, type3);
dataset.addValue(3.0, series3, type4);
dataset.addValue(6.0, series3, type5);
dataset.addValue(3.0, series3, type6);
dataset.addValue(4.0, series3, type7);
dataset.addValue(3.0, series3, type8);dataset.addValue(2.0, series4, type1);
dataset.addValue(5.0, series4, type2);
dataset.addValue(4.0, series4, type3);
dataset.addValue(6.0, series4, type4);
dataset.addValue(1.0, series4, type5);
dataset.addValue(9.0, series4, type6);
dataset.addValue(6.0, series4, type7);
dataset.addValue(4.0, series4, type8);dataset.addValue(3.0, series5, type1);
dataset.addValue(6.0, series5, type2);
dataset.addValue(2.0, series5, type3);
dataset.addValue(9.0, series5, type4);
dataset.addValue(3.0, series5, type5);
dataset.addValue(7.0, series5, type6);
dataset.addValue(8.0, series5, type7);
dataset.addValue(3.0, series5, type8);return dataset;
}
/**
-
Creates a sample chart.
-
@param dataset a dataset.
-
@return The chart.
*/
private JFreeChart createChart(final CategoryDataset dataset) {// create the chart…
final JFreeChart chart = ChartFactory.createLineChart(
“Line Chart Demo 1”, // chart title
“X”, // domain axis label
“Y”, // range axis label
dataset, // data
PlotOrientation.VERTICAL, // orientation
true, // include legend
true, // tooltips
false // urls
);// NOW DO SOME OPTIONAL CUSTOMISATION OF THE CHART…
// final StandardLegend legend = (StandardLegend) chart.getLegend();
// legend.setDisplaySeriesShapes(true);
// legend.setShapeScaleX(1.5);
// legend.setShapeScaleY(1.5);
//legend.setDisplaySeriesLines(true);chart.setBackgroundPaint(Color.white);
final CategoryPlot plot = (CategoryPlot) chart.getPlot();
plot.setBackgroundPaint(Color.lightGray);
plot.setRangeGridlinePaint(Color.white);// customise the range axis…
final NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
rangeAxis.setAutoRangeIncludesZero(true);// ****************************************************************************
// * JFREECHART DEVELOPER GUIDE *
// * The JFreeChart Developer Guide, written by David Gilbert, is available *
// * to purchase from Object Refinery Limited: *
// * *
// * http://www.object-refinery.com/jfreechart/guide.html *
// * *
// * Sales are used to provide funding for the JFreeChart project - please *
// * support us so that we can continue developing free software. *
// ****************************************************************************// customise the renderer…
final LineAndShapeRenderer renderer = (LineAndShapeRenderer) plot.getRenderer();
// renderer.setDrawShapes(true);return chart;
}
/**
-
Starting point for the demonstration application.
-
@param args ignored.
*/
public static void main(final String[] args) {final LineChartDemo1 demo = new LineChartDemo1(“Line Chart Demo”);
demo.pack();
demo.setVisible(true);
}
}
[/code]