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