[英]JFreeChart: Using ChartMouseEvent to display data on a scatter plot
[英]JFreeChart: Displaying data on a scatter plot on mouse click
我想在使用JFreeChart創建的散點圖上顯示給定點的x,y數據。 我在網上以及開發人員指南中都進行了查找,但仍然很難做到這一點。
我使用ChartFactory創建散點圖
chart = ChartFactory.createScatterPlot( title, xlabel, ylabel, data, plotOrientation.VERTICAL,
false, true, false );
我試圖實現chartMouseClicked事件。
public void chartMouseClicked(ChartMouseEvent event) {
ChartEntity entity = event.getEntity();
If (entity != null) {
XYItemEntity ent = (XYItemEntity) entity;
int sindex = ent.getSeriesIndex();
int iindex = ent.getItem();
System.out.println("x = " + data.getXValue(sindex, iindex));
}
}
其中data是與繪圖相關的XYDataSet的實現。
這似乎沒有給我任何數字。 我究竟做錯了什么?
謝謝
啊,所有的紅色是因為我沒有檢查它是否是XYItemEntity的實例。
擴展代碼:
public void chartMouseClicked(ChartMouseEvent event) {
ChartEntity entity = event.getEntity();
if (entity != null && entity instanceof XYItemEntity) {
XYItemEntity ent = (XYItemEntity) entity;
int sindex = ent.getSeriesIndex();
int iindex = ent.getItem();
System.out.println("x = " + data.getXValue(sindex, iindex));
System.out.println("y = " + data.getYValue(sindex, iindex));
}
}
這似乎現在可以工作了!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.