问题描述
我已经设置了我的 mpchart,但缺少一件事,
我需要在 x 轴下方添加那些彩色指示器(可绘制) 根据 y 值,如果 y>5 应该是绿色,否则是红色。
val xAxis = lineChart.xAxis
xAxis.apply {
setDrawGridLines(false)
isEnabled = true
position = XAxis.XAxisPosition.BottOM
textSize = 12F
textColor = Color.WHITE
}
解决方法
我通过扩展 MP 图表库的 XAxisRenderer 类并像这样覆盖 drawLabel 函数来实现这一点
class CustomXAxis(
viewPortHandler: ViewPortHandler?,xAxis: XAxis?,trans: Transformer?
) : XAxisRenderer(viewPortHandler,xAxis,trans) {
override fun drawLabel(
c: Canvas?,formattedLabel: String?,x: Float,y: Float,anchor: MPPointF?,angleDegrees: Float
) {
super.drawLabel(c,formattedLabel,x,y,anchor,angleDegrees)
val drawable = ContextCompat.getDrawable(context,R.drawable.ic_single_bar)
Utils.drawImage(c,drawable,x.toInt(),(y + 50).toInt(),30,30)
}
}