0
我有两个属于同一个数据集的XYSeries。第一个系列只能显示形状,而第二个系列只能显示线条。两者必须具有相同的颜色。有没有办法做到这一点?获取不同的系列具有相同的颜色
提供了一段代码,以更好地理解:
XYSeries series = new XYSeries("S1", false); // autosort disabled
for(int i = 0; i < xValues.length; ++i)
series.add(xValues[i], yValues[i]);
XYSeries series1 = new XYSeries("S2", false);
for(int i = 0; i < xValues.length; ++i)
series1.add(yValues[i], xValues[i]);
XYSeriesCollection dataset = new XYSeriesCollection();
dataset.addSeries(series);
dataset.addSeries(series1);
// create a chart with title, axis labels, tooltips and maybe a legend
JFreeChart chart = ChartFactory.createScatterPlot(title, xLabel, yLabel, dataset,
PlotOrientation.VERTICAL, legend, true, false);
XYPlot plot = (XYPlot) chart.getPlot();
XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) plot.getRenderer();
renderer.setSeriesLinesVisible(0, true);
renderer.setSeriesShapesVisible(1, false);
renderer.setSeriesLinesVisible(1, true);
[更新](http://stackoverflow.com/posts/9763985/revisions)来使用相同的颜色为两个系列。 – trashgod 2012-03-19 01:49:47
谢谢。但我省略了一些东西。在我的图表中可以有很多系列,每个系列都有两个系列。所以每个数据集都有一个颜色,由库自动提供。 – Jacopo 2012-03-19 12:02:56
你可以重载'getItemPaint()';我已经链接到上面的例子。 – trashgod 2012-03-19 14:42:59