2015-04-03 75 views
0

我試圖複製過去手工製作的東西,但我很想把它移到JavaFX圖表,所以我知道需要更長的時間自己來維護它。根據鼠標指針的位置,我可以相對容易地從圖表中獲取XAxis和YAxis值。但是我現在需要知道系列的價值(我可能有很多)。然後,我打算將這個顯示在浮動在圖表上的框中,如我手工製作的圖表所示。JavaFx圖表和獲取來自XYChart的Y值的值。知道X值的系列

我會張貼一個示例圖片,但可悲的是我的名聲太低。

我知道我可以通過在Tree Map中手動錄製非常有價值的圖表來添加圖表,然後在鼠標移動以確定值時進行輪詢......但是我很好奇如果有一種更簡單的方法,不要求我從現有的非JavaFX圖表重複代碼。

我在XYChart.Series或Observable List中找不到任何可以簡化此過程的任何內容,所以我只是在嘗試進行完整性檢查之前,我自己手動啓動它。

回答

0

你可以做這樣的事情:

但是你的X必須是數字值

private Data<X, Y> getNearestDataForXValue(X xValue, Series<X, Y> series) { 
    Data<X, Y> nearsetData = null; 
    double distance = Double.MAX_VALUE; 

    for (Data<X, Y> data : series.getData()) { 
     double xData = data.getXValue().doubleValue(); 
     double dataDistance = Math.abs(xValue.doubleValue() - xData); 
     if (dataDistance < distance) { 
      distance = dataDistance; 
      nearsetData = data; 
     } 
    } 
    return nearsetData; 
} 
+0

感謝。得到這個自己,但感謝您的反饋 – 2016-05-04 18:50:19