如何在MPAndroidChart上展示零值的X轴数值,而不在折线图中绘制零值?

8
我正在使用MPAndroidChart展示我的数据,以折线图的形式呈现。对于每个日期,我都有其相应的值。
这样做很好用。现在我想做的是不绘制0值,而是在两个相邻的非零值之间绘制一条线(就像趋势线),同时仍然在x轴上显示零值的日期。
我的当前图表: My current graph 期望的图表应该类似于这张图表: Desired graph - no zero values 我该如何实现这种行为?
3个回答

7
我在这里发布我的朋友的解决方案(非常有效):
  1. 创建一个数值为0的数据集。将其绘制,但线条颜色为透明
  2. 创建一个没有0值的数据集。用需要的颜色绘制它。
将(1)和(2)放在同一个LineChart上。
这将给您一个带有x值的x轴,其中存在0值,但不会为它们绘制线条。
第二个数据集将显示没有0值的数据点的线条

1
太好了!你是否能将其作为答案贴到这个问题中呢? - David Rawson

3

不需要像limlim建议的那样画两条线,您只需要将非零值添加到条目中,但x值必须无论如何增加:

List<SomeClass> values = new ArrayList<>();

int k = 0;
List<Entry> entries = new ArrayList<>();
for (SomeClass v : values){
  if (v.value > 0){
    entries.add(new Entry(k, v.value));
  }
  k += 1;
}

1

在MPAndroidChart:v3.1.0中,无需拆分数据集以绘制空点。 您只需要将这些空点的值设置为Float.NaN(在Kotlin的情况下)即可。


这并没有回答问题。一旦您拥有足够的声望,您将能够评论任何帖子;相反,提供不需要询问者澄清的答案。- 来自审核 - Maveňツ

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接