9

JFreeChart 中是否有一种方法可以从 ChartMouseEvent 确定鼠标已结束的 x,y 坐标(在绘图空间中)?我尝试使用域十字准线值,但这似乎不准确并且滞后于实际的鼠标事件。

谢谢,

杰夫

4

1 回答 1

15

鼠标坐标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());
于 2009-10-02T22:55:29.457 回答