我有用JFreeChart構建的XYLineChart。鑑於該圖表和ChartMouseEvent,我需要檢索最靠近點擊鼠標點的displayde系列的X值。JFreeChart交互式圖表編輯:將鼠標座標轉換爲系列值
多虧了previous post我已經能夠獲取的灰度圖的偏移量(圖像中的綠色點的座標)及其以下方法維度:
Rectangle2D greyChartArea = chartPanel.getChartRenderingInfo().getPlotInfo().getDataArea();
我也知道了所顯示的系列的最大X值:
double maxXValue = seriesCollection.getDomainUpperBound(true); //where seriesCollection is an XYSeriesCollection object
現在的問題在於,用於將鼠標coordin吃(點)到圖表中的相應值,我需要知道多少單位(雙)與屏幕上的像素相對應。 不幸的是,最大X值(在這種情況下爲60)和灰色圖表寬度(看起來很大的藍色線)之間存在差距,所以我無法實現完美的轉換。
然後我有兩個問題:
- 如何精確計算像素最後顯示的x值和整個灰色圖表之間的差距? (大藍線長度)
- 我做錯了什麼?有沒有更簡單的方法來實現這個目標,可能避免所有這些微積分?我是JFreeChart新手,該庫的文檔還不夠,所以也許我錯過了一些可以幫助我的功能。
http://meta.stackexchange.com/questions/99734/how-do-i-create-a-screenshot-to-illustrate-a-post +1 – mKorbel
@mKorbel:你曾經使用了JFreeChart ?你有什麼想法嗎? – Heisenbug
從來沒有,我認爲這只是垃圾區(在這個論壇上),因爲我知道對不起的人... – mKorbel