1

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 のレンダラー設定は無関係のようです。

4

1 に答える 1

1

の目的はわかりません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)
...   
于 2013-05-15T12:25:46.757 に答える