折れ線グラフの原点に対するマウスの位置を計算するにはどうすればよいですか?
以下のコードは、チャートのレイアウト原点に対するマウス カーソルの x 位置を取得します。代わりに、デカルト原点に対するマウスの位置を知りたいです。
public class Chart extends Application {
private NumberAxis xAxis;
private NumberAxis yAxis;
private LineChart<Number,Number> lineChart;
private Label cursorPosition;
private Label xAxisPosition;
@Override
public void start(Stage primaryStage) {
VBox root = new VBox();
xAxis = new NumberAxis("Date", 0.f, 100.f, 10.f);
yAxis = new NumberAxis("Value", 0.f, 100.f, 10.f);
lineChart = new LineChart<>(xAxis, yAxis);
Series series = new Series();
for (int ii = 1; ii <= 100; ii++) {
series.getData().add(new Data(ii, Math.random()*20.));
}
lineChart.getData().add(series);
lineChart.setOnMouseMoved(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
lineChart.setCursor(Cursor.CROSSHAIR);
cursorPosition.setText(String.valueOf(event.getX()));
}
});
lineChart.setOnMouseExited(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
lineChart.setCursor(Cursor.DEFAULT);
}
});
cursorPosition = new Label();
root.getChildren().addAll(lineChart, cursorPosition,);
Scene scene = new Scene(root, 300, 250);
primaryStage.setScene(scene);
primaryStage.show();
}