1、界面不刷新
line_chart.getData().notifyDataChanged()
line_chart.notifyDataSetChanged()
如果不刷新界面,再调用
line_chart.invalidate()
2、BarChart显示指定个数柱形
val xAxis = bar_chart.getXAxis()
xAxis.labelCount = 10
val yVals1 = mutableListOf<BarEntry>()
bar_chart.zoom(-bar_chart.viewPortHandler.scaleX, 1f, 0f, 0f) //复位到原始大小,防止多次放大
//通过下面两句代码实现左右滚动
val ratio = yVals1.size / 10f //我默认手机屏幕上显示10剩下的滑动直方图然后显示。假如要显示25个 那么除以10 就是放大2.5f bar_chart.zoom(ratio, 1f, 0f, 0f)//显示的时候是按照多大的比率缩放显示 1f表示不放大缩小
3、解决柱状图第一个柱形显示一半
xAxis.setAxisMinimum(-0.5f)
xAxis.setAxisMaximum((dataList.size - 0.5).toFloat())
4、折线图Y值为0时不绘制该点
var leftAxis = line_chart.axisLeft
leftAxis.setAxisMinimum(-0.1f) //重新设置Y轴最小值为0,第一防止刷新后Y轴自动缩放出现负坐标,第二解决y值为0时,节点未绘制(设置成-0.01节点绘制了但是重叠绘制了两根X坐标轴)
5、折线图放大后,高亮线无法拖动
高亮线拖动时,可通过监听手势缩放操作,先暂时禁止折线图滑动