JFreeChart: définir les couleurs des lignes de Diagramme XY - 4 de la série, 2 jeux de données, double axes

Je n'arrive pas à définir une ligne individuelle de couleurs pour tous les quatre lignes. Lorsque j'utilise les lignes:

plot.getRenderer().setSeriesPaint(0, new Color(0x00, 0xFF, 0x00));
plot.getRenderer().setSeriesPaint(1, new Color(0x00, 0x00, 0x00));

(Dans le code ci-dessous), elle s'applique sur la première ligne de la PREMIÈRE série dans les DEUX ensembles de données, et la deuxième ligne de la DEUXIÈME série en DEUX séries de données.

Comment puis-je définir une couleur différente pour chacune des 4 lignes?

Merci!

private JFreeChart createXYLineChart(String title) {
XYDataset dataset1 = createXYVoltageDataset();
XYDataset dataset2 = createXYCurrentDataset();
JFreeChart chart = ChartFactory.createXYLineChart("Profile", "Set Current", "Voltage", null);
XYPlot plot = (XYPlot) chart.getPlot(); 
plot.setDataset(0, dataset1);
plot.setDataset(1, dataset2);
plot.setRangeAxis(1, new NumberAxis("Actual Current")); 
plot.mapDatasetToRangeAxis(1, 1); //2nd dataset to 2nd y-axi
plot.setBackgroundPaint(new Color(0xFF, 0xFF, 0xFF));
plot.setDomainGridlinePaint(new Color(0x00, 0x00, 0xff));
plot.setRangeGridlinePaint(new Color(0xff, 0x00, 0x00));
plot.getRenderer().setSeriesPaint(0, new Color(0x00, 0xFF, 0x00));
plot.getRenderer().setSeriesPaint(1, new Color(0x00, 0x00, 0x00));
//plot.getRenderer().setSeriesPaint(2, new Color(0xFF, 0x00, 0x00)); //Does nothing
//plot.getRenderer().setSeriesPaint(3, new Color(0x00, 0x00, 0xFF)); //Does nothing
//plot.getRenderer(1).setSeriesPaint(3, new Color(0x00, 0x00, 0xFF)); //Null pointer exceptiopn
return chart;
}
private  XYDataset createXYVoltageDataset() {
final XYSeries s1 = new XYSeries("Min Voltage");
final XYSeries s2 = new XYSeries("Max Voltage");
for (int i = 0; i < profile.getNumSteps(); i++) s1.add(i, profile.getStepMinVoltage(i));
for (int i = 0; i < profile.getNumSteps(); i++) s2.add(i, profile.getStepMaxVoltage(i));
XYSeriesCollection dataset = new XYSeriesCollection();
dataset.addSeries(s1);
dataset.addSeries(s2);
return dataset;
}
private  XYDataset createXYCurrentDataset() {
final XYSeries s1 = new XYSeries("Min Current");
final XYSeries s2 = new XYSeries("Max Current");
for (int i = 0; i < profile.getNumSteps(); i++){
s1.add(i, profile.getStepMinCurrent(i));
}
for (int i = 0; i < profile.getNumSteps(); i++) s2.add(i, profile.getStepMaxCurrent(i));
XYSeriesCollection dataset = new XYSeriesCollection();
dataset.addSeries(s1);
dataset.addSeries(s2);
return dataset;
}

OriginalL'auteur CL22 | 2014-01-29