Я пытаюсь нарисовать XYLineAnnotation для построения. Я рассчитываю длину линии (параметр lineLength) после некоторых операций. Хотя chartX и chartX + lineLength различны, преобразованные значения одинаковы (chartXx и chartYy). Так что линия не является на экране. Координаты начала и конца X совпадают.
Я думаю, что я не делал никакой реализации, которая зависит от элементов в plot. Но код работает правильно, если для plot есть один TimeSeriesDataItem. Я думаю, что в некоторых случаях он будет отображать такие большие линии. Максимальное значение переменной lineLength составляет 18 пикселей. Поэтому не следует рисовать такие длинные линии.
DateAxis domainAxis = (DateAxis) plot.getDomainAxis();
RectangleEdge domainAxisEdge = plot.getDomainAxisEdge();
Minute min = /** Minute presentation of only point in graph*/
Double chartX = domainAxis.valueToJava2D(min.getFirstMillisecond(), subRect, domainAxisEdge);
Double chartXx = domainAxis.java2DToValue(chartX, subRect, domainAxisEdge);
Double chartYy = domainAxis.java2DToValue(chartX + lineLength, subRect, domainAxisEdge);
XYLineAnnotation d = new XYLineAnnotation(chartXx, yValue, chartYy,
yValue);
futurePlot.addAnnotation(d);