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

时间:2019-02-18 15:35:03

标签: java android android-graphview

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

enter image description here

这是我尝试过的:

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);

这是结果:

enter image description here

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

1 个答案:

答案 0 :(得分:0)

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

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

  

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

现在-在两个图像中,您都有相同的点,但是主要区别在于,第一个图针对每个Integer(在x轴和y轴上)和第二个图形是第二个整数的缩放比例(例如,在x轴-6 -4 -2 0 2 4 6上)。

以(0,9)点为例-在第一张图片中,您可以清楚地在x轴上看到0,在y轴上看到9,请确保是你的意思。
在第二张图片中(对于同一点)-您可以清楚地看到x轴上的0,y轴上也有9-您只需要注意上面的内容8和10以下(所以它在9上,毕竟我们在谈论两个图像上的相同点)。