Отметка точек на диаграмме JFreeChart TimeSeries

У меня есть диаграмма JFreeChart TimeSeries с двумя элементами данных.
Мне нужно отметить на ней точки.
Например, мне нужно, чтобы она показывала в определенное время, каково значение линии (хотя на самом деле нет никакого значения и Созданная строка JFreeChart).
Пример:

TimeSeries t=new TimeSeries("Test",Second.class);
Dataset.addSeries(t);

Calendar C=Calendar.getInstance();
t.add(new Second(C.getTime()), 100);

C.setTimeInMillis(C.setTimeInMillis+10*60*60*1000);
t.add(new Second(C.getTime()),200);


// Now I want Something like this psudo code
C.setTimeInMillis(C.setTimeInMillis-5*60*60*1000);
t.mark(new Second(C.getTime()));

Как я могу пометить точки в серии по их значению домена (чтобы значение диапазона рассчитывалось автоматически)?

Спасибо


person Ariyan    schedule 03.01.2012    source источник


Ответы (1)


Один из удобных способов отображения интерполированных значений - включить функцию отслеживания оси, как показано в этом примере.

chartPanel.setHorizontalAxisTrace(true);
chartPanel.setVerticalAxisTrace(true);

Приложение. Альтернативой является добавление интерполированных значений в набор данных и подавление отображения их Shape, как показано здесь. После этого (немаркированное) значение будет доступно генератору всплывающих подсказок, генератору меток, слушателю мыши диаграммы и т. Д.

person trashgod    schedule 03.01.2012
comment
Привет, спасибо, но это помогает только найти значение на самой оси, в то время как мне нужно точное значение в некоторой (ровно 3) точке между двумя точками. - person Ariyan; 04.01.2012
comment
Вам нужно будет выполнить собственную линейную интерполяцию, чтобы перевести представление в координаты модели; drawXxxAxisTrace() методы показывают, как получить границы просмотра. - person trashgod; 04.01.2012