我遇到的问题是我的图表应该总是显示一个固定的XValues范围,让我们说一天24小时,但图表只显示XValues,从第一个和最后一个点开始YValue,即如果我有两个Y事件,让我们说凌晨2点和下午3点,而不是显示整个24小时,它将从凌晨2点开始,到下午3点结束。
我认为这与通过IAxisValueFormatter处理XValues的新方法有关,因为当我们可以将X和Y值都添加到ChartData时,这种方法很好用。
我找到的一个解决方法就是在我的案例0值中添加空YValues到第一个和最后一个小时,但是这带来了另一个问题,无论我在LeftAxis中设置最小值,它都会开始显示负标签值(从-15而不是0)。
有正式方法吗?我已经研究了很多这方面的内容,我正在考虑回到以前版本的库,我可以用旧的方式。
编辑:只是为了澄清问题与标签没有任何关系,但是在X中的图表的开头和结尾,它丢弃了没有任何Y值的X的范围我理解有道理,但在某些情况下会使结果看起来很难看。
答案 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绘制值