【问题标题】:Check if point belongs to the plot检查点是否属于情节
【发布时间】:2012-09-27 09:50:09
【问题描述】:

我正在使用 JFreeChart 绘制 XYPlot。我目前正在尝试做的事情:

  1. 用户点击绘图,应用程序将返回所选点的坐标;我认为我做对了。这是一些代码:

        public void chartMouseClicked(ChartMouseEvent arg0) {
               Rectangle2D plotArea = chPanel.getScreenDataArea();
               XYPlot plot = (XYPlot) chart.getPlot();
               double chartX = plot.getDomainAxis().java2DToValue(arg0.getTrigger().getPoint().getX(), plotArea, plot.getDomainAxisEdge());
               double chartY = plot.getRangeAxis().java2DToValue(arg0.getTrigger().getPoint().getY(), plotArea, plot.getRangeAxisEdge());
               JOptionPane.showMessageDialog(null, "   x: "+chartX+ "  y: "+chartY);}       
    
  2. 我需要确定用户是否点击了该行。目标是标记点击的点,如果它在绘制的图形上。

如果有任何线索,我将不胜感激。

【问题讨论】:

    标签: java jfreechart


    【解决方案1】:

    不要使用坐标,而是添加ChartMouseListener,如图所示here。您可以查看ChartMouseEvent 和任何对应的ChartEntity 以了解各种详细信息。

    【讨论】:

    • 据我了解,这适用于 BarChart,选择整个 Bar。我需要在 XY 图表上选择选定的点,所以我不确定我是否可以使用它。如果我错了,请纠正我。
    【解决方案2】:
    ShapeUtilities.intersects(java.awt.geom.Rectangle2D rect1, java.awt.geom.Rectangle2D rect2) 
    

    其中 rect2 可以是“0”矩形(用于您的点)。

    【讨论】:

      猜你喜欢
      • 2016-03-21
      • 1970-01-01
      • 1970-01-01
      • 2019-04-11
      • 2012-01-14
      • 2023-04-03
      • 1970-01-01
      • 1970-01-01
      • 2017-06-03
      相关资源
      最近更新 更多