更改JFreeChart的线条样式和颜色

时间:2013-10-19 20:39:18

标签: java jfreechart

我有3个系列:

XYSeries s1 = new XYSeries("one");
s1.add(1,0);
s1.add(2,1);

XYSeries s2 = new XYSeries("two");
s1.add(3,0);
s1.add(4,1);

XYSeries s3 = new XYSeries("three");
s1.add(5,0);
s1.add(6,1);

我将其绘制为XYLineChart:

XYSeriesCollection dataset = new XYSeriesCollection();
dataset.addSeries(s1);
dataset.addSeries(s2);
dataset.addSeries(s3);

JFreeChart chart = ChartFactory.createXYLineChart("title", "x", "y", dataset, PlotOrientation.VERTICAL, false, false, false);

并添加到面板:

ChartPanel cp = new ChartPanel(chart);
panel_1.add(cp, BorderLayout.CENTER);
panel_1.validate();

我是如何制作的,所以系列s1和s2是相同的颜色,而s3是不同的?

1 个答案:

答案 0 :(得分:3)

您可以使用渲染器的setSeriesPaint()方法指定seriespaint。另请考虑使用自定义DrawingSupplier,提及here。更一般地说,您可以覆盖所需的get*Paint()方法以建立任何所需的配色方案,如getItemFillPaint()所示here

image