簡體   English   中英

JFreeChart:單擊鼠標即可在散點圖上顯示數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM