DynamicTimeSeriesCollection中的XYTextAnnotation

我正在尝试在DynamicTimeSeriesCollection中实现XYTextAnnotation。 我不知道如何在DynamicTimeSeriesCollection中找到系列的X值。 我的代码到目前为止:

DynamicTimeSeriesCollection dataset = new DynamicTimeSeriesCollection(1, 60, new Minute()); final JFreeChart result = ChartFactory.createTimeSeriesChart(TITLE, "A", "B", dataset, true, true, false); float[] series1Small = new float[10]; dataset.setTimeBase(new Minute(1, 1, 1, 1, 2013)); dataset.addSeries(series1Small,0,"1"); JFreeChart result = ChartFactory.createTimeSeriesChart(TITLE, "Время", "Платежи", dataset, true, true, false); final XYPlot plot = result.getXYPlot(); -----------------------------------------------------------Below line doesn't work. TimeSeriesDataItem item1 = series1.getDataItem(series1.getItemCount() - 1); createAnnotation(item1,plot); 

这是一个用于使用TimeSeriesCollection进行注释的函数。

  public static void createAnnotation(TimeSeriesDataItem item,XYPlot plot) { double xAnnotation = item.getPeriod().getFirstMillisecond(); double yAnnotation = item.getValue().doubleValue(); XYTextAnnotation annotation = new XYTextAnnotation(item.getValue().toString(), xAnnotation, yAnnotation); annotation.setFont(new Font("Arial",Font.BOLD,11)); plot.addAnnotation(annotation); } 

从这个例子开始,我在createChart()添加了以下行来获取下面的图像:

 double x = dataset.getXValue(0, COUNT - 1); double y = dataset.getYValue(0, COUNT - 1); String s = dataset.getY(0, COUNT - 1).toString(); XYTextAnnotation a = new XYTextAnnotation(s, x, y); a.setFont(a.getFont().deriveFont(24f)); plot.addAnnotation(a); 

文本注释图像