我正在使用最初XYPlot
数据集创建null
,然后向其添加多个(例如2个)XYSeriesCollection
个实例。像
val chart = ChartFactory.createXYLineChart(...)
val plot = chart.getXYPlot
plot.setDataset(0, dataset0)
plot.setDataset(1, dataset1)
现在我希望他们用不同的颜色和笔画来表达它们:
import BasicStroke._
val renderer = plot.getRenderer
renderer.setSeriesPaint(0, Color.black)
renderer.setSeriesPaint(1, Color.red)
renderer.setSeriesStroke(0, new BasicStroke(2.0f))
renderer.setSeriesStroke(1,
new BasicStroke(2.0f, CAP_ROUND, JOIN_ROUND, 1.0f, Array(6f, 6f), 0f))
)
但两者都以黑色和非虚线显示。所以我必须在理解数据集和系列之间的对应关系方面犯错误?
我也试过plot.getRendererForDataset(dataset)
,但同样,两个数据集都由系列0的设置控制,而系列1的渲染器设置似乎无关紧要。
答案 0 :(得分:0)
我不知道plot.setDataset(idx, _)
的目的是什么,但XYSeriesCollection
本身需要包含不同的系列。
val series: Seq[XYSeries] = ...
val dataset = new XYSeriesCollection
series.foreach(dataset.addSeries _)
val chart = ChartFactory.createXYLineChart("title", "x", "y", dataset,
PlotOrientation.VERTICAL, true, false, false)
val plot = chart.getXYPlot
val renderer = plot.getRenderer
renderer.setSeriesPaint (0, paint0 )
renderer.setSeriesStroke(0, stroke0)
renderer.setSeriesPaint (1, paint1 )
renderer.setSeriesStroke(1, stroke1)
...