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

标签 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

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

最佳答案

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

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

tl;dr - your 2 images have different Graph scales and it is giving you the illusion of misplaced points.

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

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

关于java - 如何在 GraphView Android 中添加特定点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54750631/

相关文章:

java - 在嵌套数组中提取数组 Java

android-graphview - Android GraphView 中的平滑线图

android - 如何在graphview中自定义网格比例?

java - datetimeformatter joda 使用可选的 millis 解析多种 utc 格式

java - spurios 唤醒是否伴随着 InterruptedException?

java - 从 BroadcastReceiver 调用 MainApplication 方法

android - 为什么 Toast.makeText 而不是新的 Toast

android - 类似的 Facebook react - ObjectAnimator clicklistener 的动画 View 不起作用

java - 比较两个文件并在 Java 中打印差异

android - Android Studio Gradle构建将永远运行