更改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是不同的?

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

图片