先总结:太坑了。
其他的设置全部省略了。
首先通过Chart对象获得XAxis对象,设置它的最小值。就是x坐标轴的起点。
XAxis xl = dateChart.getXAxis();
xl.setAxisMinimum(0f);
在封装完数据之后,再设置它最大值。这里str_times是横坐标的一个ArrayList。
注意这两步顺序一定不能错!不然会闪退的。
setVisibleXRange是设置可见的x范围,我设置成(0, 5)之后,就只会显示序号0到5的内容(6项)。往左滑才会显示第7,8,9…最后一项。
xl.setAxisMaximum(str_times.size()-1);
dateChart.setVisibleXRange(0,5);
至于如何定制x轴的显示,github上的demo是这样写的,你得自己搞一个数组,把index传进去,形成映射关系。就是写一个ValueFormatter。
xAxis.setValueFormatter(new ValueFormatter() {
@Override
public String getFormattedValue(float value) {
return months[(int) value % months.length];
}
});
也可以参考
《MPAndroidChart 教程:数据格式器 ValueFormatter(五)》https://blog.csdn.net/u014136472/article/details/50315475
这是我完成的结果: