2010-10-11 151 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)); 
    } 
} 

这似乎现在的工作!