MPAndroidChart踩坑总结

本文详细介绍MPAndroidChart库在Android应用中高级定制方法,包括界面刷新、BarChart指定个数显示、解决柱状图首柱半显示问题、折线图Y值为0时的处理及高亮线拖动解决方案,帮助开发者提升图表展示效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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、折线图放大后,高亮线无法拖动
高亮线拖动时,可通过监听手势缩放操作,先暂时禁止折线图滑动

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值