2010-10-11 152 views
0

我想顯示我使用JFreeChart創建的散點圖上給定點的x,y數據。我已經在線查看了開發者指南,並且仍然無法做到這一點。JFreeChart:在點擊鼠標的散點圖上顯示數據

我創建使用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是與plot相關的XYDataSet的實現。

這似乎沒有給我任何數字。我究竟做錯了什麼?

感謝

回答

2

啊,所有的紅色是因爲我沒有檢查,看看它是否是XYItemEntity的一個實例。

Ammended代碼:

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)); 
    } 
} 

這似乎現在的工作!