JFreeChart получить координаты мыши - PullRequest
9 голосов
/ 03 октября 2009

Есть ли способ в JFreeChart определить из ChartMouseEvent, что координаты x, y (в пространстве графика) мыши закончились? Я попытался использовать значение перекрестия домена, но это кажется неточным и отстает от фактического события мыши.

спасибо,

Jeff

1 Ответ

15 голосов
/ 03 октября 2009

Координаты мыши от getTrigger() относятся к ChartPanel, поэтому вам необходимо преобразовать их:

Point2D p = chartPanel.translateScreenToJava2D(mouseChartEvent.getTrigger().getPoint());
Rectangle2D plotArea = chartPanel.getScreenDataArea();
XYPlot plot = (XYPlot) chart.getPlot(); // your plot
double chartX = plot.getDomainAxis().java2DToValue(p.getX(), plotArea, plot.getDomainAxisEdge());
double chartY = plot.getRangeAxis().java2DToValue(p.getY(), plotArea, plot.getRangeAxisEdge());
...