Аннотирование точек на линейном графике с помощью JFreeChart?

Я использую JFreeChart для построения линейного графика. Есть некоторые точки, которые я хочу отметить или аннотировать кружками разного размера. Я попробовал ShapeAnnotation, но даже после того, как я добавил Annotation, он не виден. Однако я смог сделать аннотацию указателя. Вот соответствующий код:

 XYShapeAnnotation annotation = new XYShapeAnnotation(new Ellipse2D.Float(100.0f, 100.0f, 100.0f, 100.0f), new BasicStroke(1.0f), Color.blue);
XYPointerAnnotation pointer = new XYPointerAnnotation("arrow", 0.5,0.5,0.0);
xyDataset.addSeries(series1); //
xyDataset.addSeries(series2); // random lists of numbers
xyDataset.addSeries(series3); //
JFreeChart chart = ChartFactory.createXYLineChart ("XYLine Chart using JFreeChart","Age","Weight",xyDataset,PlotOrientation.VERTICAL,true,true,false);
chart.getXYPlot().addAnnotation(pointer);
chart.getXYPlot().addAnnotation(annotation);

Я думаю, что мне нужно больше кода, чтобы сделать аннотацию эллипса видимой, потому что я никогда не указывал координаты, как с указателем. Я просмотрел API JFreeChart и не смог его найти. Помощь?


person Thomas    schedule 04.08.2011    source источник


Ответы (1)


Трудно сказать, почему ваш XYShapeAnnotation терпит неудачу, не видя ваших данных; поможет sscce. В качестве отправной точки вы можете посмотреть примеры здесь и < href="https://stackoverflow.com/questions/6797012/jfreechart-series-tool-tip-above-shape-annotation/6802375#6802375">здесь для сравнения.

person trashgod    schedule 04.08.2011
comment
Оказывается, круг был слишком большим, и поскольку он не был заполнен, а имел только контур, его не было видно. Тем не менее, спасибо за ответ, трэшбог. Я знал, что могу рассчитывать на тебя. У вас есть ответы на все вопросы о JFreeChart. Но можно еще вопрос? В итоге я просто создал новую серию для каждого круга и сделал фигуру видимой, а линию невидимой. Вы знаете, как для каждой серии устанавливается случайный цвет? Знаете ли вы, есть ли способ сделать одну серию того же цвета, что и другая? - person Thomas; 05.08.2011
comment
Я хочу, чтобы все серии, содержащие только одну точку, отмеченную кружком, были того же цвета, что и серии с линией, если это имеет смысл. - person Thomas; 05.08.2011
comment
Да, я фанат. Цвета серии не случайны; они исходят от DrawingSupplier. Поскольку это звучит как новый вопрос, вы можете начать исследование гистограмма-in-ireport/3006785#3006785">здесь. Вы можете принять этот ответ, нажав на галочку слева; подробности см. в разделе faq. - person trashgod; 05.08.2011