如何在 MPAndroidChart 上显示 X 轴值时不在折线图上绘制零值?

问题描述 投票:0回答:3

我正在使用 MPAndroidChart 在折线图中显示我的数据。对于每个日期,我都有自己的价值。

这很好用。我现在想做的是不绘制 0 值,而是在 2 个相邻的非零值之间绘制线(如趋势线),同时继续在 x 轴上显示零值的日期。

我目前的图表:

所需的图形应类似于此图形:

我怎样才能实现这种行为?

android mpandroidchart linegraph
3个回答
6
投票

我在这里发布我朋友的解决方案(非常有效):

  1. 创建一个具有 0 个值的数据集。绘制它,但用透明色.
  2. 的线
  3. 创建一个没有 0数据集。用你需要的颜色画出来

将 (1) 和 (2) 放在同一个折线图上。

它会给你一个 x 轴,其中 x 值有 0 个值,但不会为它们画一条线。

第二个数据集将显示数据行没有0值


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

0
投票

MPAndroidChart:v3.1.0不需要拆分数据集来绘制空点。 您所要做的就是将这些空点值设置为 Float.NaN(在 Kotlin 的情况下)。

© www.soinside.com 2019 - 2024. All rights reserved.