我想在GraphView上添加如下所示的特定点:

java - 如何在GraphView Android中添加特定点?-LMLPHP

这是我尝试过的:

GraphView graphView = findViewById(R.id.graph_view);
graphView.getGridLabelRenderer().setNumVerticalLabels(9);
graphView.getGridLabelRenderer().setNumHorizontalLabels(9);
PointsGraphSeries<DataPoint> series = new PointsGraphSeries<>(new DataPoint[] {
        new DataPoint(-9, 9),
        new DataPoint(-9, 0),
        new DataPoint(-9, -9),
        new DataPoint(0, 9),
        new DataPoint(0, 0),
        new DataPoint(0, -9),
        new DataPoint(9, 9),
        new DataPoint(9, 0),
        new DataPoint(9, -9)
});
graphView.addSeries(series);
series.setShape(PointsGraphSeries.Shape.POINT);


结果如下:

java - 如何在GraphView Android中添加特定点?-LMLPHP

与我要实现的目标无关。点不在上面的确切位置。如何解决呢?

最佳答案

底部图像中的点看起来与第一张图像中的点完全不同的原因是,您正在看两个不同的图形:

这两个图像图都是由这两件事组成的:
 x轴(每个水平点)和y轴(每个垂直点)。


  tl; dr-您的2张图像具有不同的Graph缩放比例,这给您错放点的错觉。


现在-在两个图像中您都有相同的点,但是主要区别在于,第一个图针对每个Integer缩放(在x轴和y轴上),第二个图针对第二个Integer缩放(对于x轴上的示例-6 -4 -2 0 2 4 6)。
让我们以(0,9)点为例-在第一个图像中,您可以清楚地看到x轴上的0和y轴上的9,并确保这是您的点。
在第二张图片中(针对同一点)-您可以清楚地看到x轴上的0,y轴上也有9-您只需要注意它在8上方和10下方(因此是9点,我们毕竟是在两个图片上讨论相同的点)。

07-24 19:34