即使没有相应的YValue,MPAndroidChart也会显示指定的XValues范围?

时间:2017-08-23 02:10:13

标签: android mpandroidchart

我遇到的问题是我的图表应该总是显示一个固定的XValues范围,让我们说一天24小时,但图表只显示XValues,从第一个和最后一个点开始YValue,即如果我有两个Y事件,让我们说凌晨2点和下午3点,而不是显示整个24小时,它将从凌晨2点开始,到下午3点结束。

我认为这与通过IAxisValueFormatter处理XValues的新方法有关,因为当我们可以将X和Y值都添加到ChartData时,这种方法很好用。

我找到的一个解决方法就是在我的案例0值中添加空YValues到第一个和最后一个小时,但是这带来了另一个问题,无论我在LeftAxis中设置最小值,它都会开始显示负标签值(从-15而不是0)。

有正式方法吗?我已经研究了很多这方面的内容,我正在考虑回到以前版本的库,我可以用旧的方式。

编辑:只是为了澄清问题与标签没有任何关系,但是在X中的图表的开头和结尾,它丢弃了没有任何Y值的X的范围我理解有道理,但在某些情况下会使结果看起来很难看。

1 个答案:

答案 0 :(得分:1)

您可以使用setLabelCount()方法强制轴根据您指定的计数绘制标签

根据文件:

<强> setLabelCount(int count, boolean force)

@param count :应显示的y轴标签数量

@param force 如果启用,将强制设置标签计数,这意味着将绘制确切指定的标签数量并沿轴均匀分布 - 这可能会导致标签具有不均匀的值

setLabelCount 方法定义如下

public void setLabelCount(int count) {

    if (count > 25)
        count = 25;
    if (count < 2)
        count = 2;

    mLabelCount = count;
    mForceLabels = false;
}

您可以将 setLabelCount() setAxisMaximum() setAxisMinimum()

一起使用

例如:

axis.setLabelCount(24, true);
axis.setAxisMaximum(24f);
axis.setAxisMinimum(0f);

无论Y轴值如何,这都将从0到24绘制值