Android - 获取 GraphView 数据点 x y 位置

Android - Get GraphView datapoint x y location

我正在为 Android 使用 jjoe64's 很棒的 GraphView。目前我正在尝试确定两件事:

  1. 绘制后是否有可能获得 DataPoint 的 x,y 位置值?
  2. 此外,是否可以在 onTap 调用中获取该位置?

我正在尝试在数据点(点击或其他方式)上方显示自定义视图;因此我需要它的原因是坐标。我知道如何获取用户触摸的 x,y 位置,但问题是我还需要数据点的值。

据我所知,DataPoint 和 DataPointInterface 没有可访问的 x,y 位置值 - 只有 x,y 双精度值(与位置无关)。

我希望是这样的:

    DataPoint p = series.getPoint(n);
    int x = p.getXLocation();
    int y = p.getYLocation();

其中 n 是系列中的确切位置(例如从 ArrayList 获取某些内容)或 n 代表创建时赋予 DataPoint 的非位置 x 值(new DataPoint(double x, 双 y))。

有没有其他人使用这个库解决了这个问题?任何帮助将非常感激。谢谢!

我最终对 BaseSeries 进行了子类化,基本上完成了 LineGraphSeries 的完整复制,除了制作了一些受保护的函数 public。这使我能够在地图中跟踪数据点及其 PointF,然后根据相应的数据点查找 PointF。

views.setOnDataPointTapListener(new OnDataPointTapListener() {
                                        @Override
                                        public void onTap(Series series, DataPointInterface dataPoint) {
                                            Toast.makeText(graph.getContext(), "Data : On Data Point clicked: "+dataPoint, Toast.LENGTH_SHORT).show();
                                        }
                                    });

我发现这个可以显示数据-points.Its如您所见,非常简单。