How to not draw zero values on a linechart while showing their X axis values on MPAndroidChart?
Asked Answered
V

3

8

I'm using MPAndroidChart to display my data in a line graph. For each date I have its own value.

This works just fine. What I want to do now is to not draw the 0 values, but instead draw the line between 2 adjacent non-zero values (like a trend-line), while keep showing the dates on the x-axis for the zero values.

My current graph: My current graph

The desired graph should look similar to this graph: Desired graph - no zero values

How can I achieve this behavior?

Vishinsky answered 6/11, 2016 at 10:2 Comment(0)
V
7

I'm posting my friend's solution here (worked like a charm):

  1. Create a dataset with 0 values. Draw it but with line of transparent color.
  2. Create a dataset without 0. Draw it with the color that you need.

Put (1) and (2) on the same LineChart.

It will give you an x axis with x values where there are 0 values but will not draw a line for them.

The second dataset will show the line of data points without the 0 values.

Vishinsky answered 7/5, 2017 at 14:31 Comment(1)
Great! Can you please post it as an answer to this question as well?Charlot
I
3

Without drawing two lines like limlim suggested, you have to add only non zero values to your entries, but the x value has to be incremented anyway:

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;
}
Ible answered 30/9, 2019 at 16:2 Comment(0)
B
1

There is no need to split dataset to draw empty points for MPAndroidChart:v3.1.0. All you have to do is set those empty points value as Float.NaN (in case of Kotlin).

Bury answered 23/2, 2023 at 13:14 Comment(1)
This does not provide an answer to the question. Once you have sufficient reputation you will be able to comment on any post; instead, provide answers that don't require clarification from the asker. - From ReviewPiety

© 2022 - 2024 — McMap. All rights reserved.