私は2組のグラフ(検出とローカリゼーション)を持つ図を持っています。最初のセット(ローカリゼーション)は赤、オレンジ、ピンク、2番目のセット(検出)は青、黒、シアンです。色を設定するために各セットのレンダラーを作成しました。私は本当にツールヒントを設定しているが、私は2番目のセット(検出)にmouseover私はラベルを見ることができません。私はマウスオーバーで最初のセットのラベルのみを見ることができます(写真を参照)が、他のセットのラベルは見ることができません。ここに私のコードは次のとおりです。jfreechart複数のレンダラーのツールチップが機能しない
JFreeChart avg_chart = ChartFactory.createTimeSeriesChart(
"Average detections and localizations" ,
"" ,
"" ,
null ,
true , true , false);
avg_chart.setBackgroundPaint(Color.WHITE);
final XYPlot plot = avg_chart.getXYPlot();
plot.setDataset(0,this.dataset_local);
plot.setDataset(1,this.dataset_detect);
plot.setRangeAxis(0,new NumberAxis("Localizations"));
plot.setRangeAxis(1,new NumberAxis("Detections"));
plot.mapDatasetToRangeAxis(0, 0);
plot.mapDatasetToRangeAxis(1, 1);
plot.setDomainCrosshairVisible(true);
plot.setRangeCrosshairVisible(true);
XYLineAndShapeRenderer renderer1 = (XYLineAndShapeRenderer) plot.getRenderer(0);//localization
renderer1.setSeriesPaint(0 , Color.RED);
renderer1.setSeriesPaint(1 , Color.MAGENTA);
renderer1.setSeriesPaint(2 , Color.orange);
renderer1.setBaseItemLabelsVisible(true);
XYLineAndShapeRenderer renderer2 = new XYLineAndShapeRenderer(true, false); //detection ****************
renderer2.setSeriesPaint(0 , Color.BLUE);
renderer2.setSeriesPaint(1 , Color.BLACK);
renderer2.setSeriesPaint(2 , Color.CYAN);
renderer2.setBaseItemLabelsVisible(true);
plot.setRenderer(0,renderer1);
plot.setRenderer(1,renderer2);
plot.setBackgroundPaint(Color.lightGray);
plot.setDomainGridlinePaint(Color.white);
plot.setRangeGridlinePaint(Color.white);
DateAxis axis = (DateAxis) plot.getDomainAxis();
axis.setDateFormatOverride(new SimpleDateFormat("dd/MM/yyyy"));
return avg_chart;
}
私はXYLineAndShapeRenderer renderer2 =(XYLineAndShapeRenderer)plot.getRenderer(1)を試してみましたが、それはnulll例外で提供します。 tooltips
がtrue
とき