
private fun initChart() {
val values = ArrayList<Entry>()
values.add(Entry(0f, 5f))
values.add(Entry(1f, 5.3f))
values.add(Entry(2f, 5.5f))
values.add(Entry(3f, 5.7f))
values.add(Entry(4f, 5.2f))
// 创建一个数据集,并给它一个类型
val set1 = LineDataSet(values, "")
// 在这里设置线
set1.color = Color.parseColor("#4FE2EF") // 线条颜色
set1.lineWidth = 2f // 线条宽度
set1.setCircleColor(Color.parseColor("#4FE2EF")) // 圆点颜色
set1.circleRadius = 3f // 圆点大小
set1.setDrawCircleHole(false) // 设置没有圆孔
set1.setDrawFilled(true) // 显示线条下部分颜色
set1.fillDrawable = resources.getDrawable(R.drawable.bg_gradient_ff7ff4ff_007ff4ff) // 设置线条下部分渐变图片
set1.valueTextColor = Color.parseColor("#4FE2EF") // 数值颜色
set1.mode = LineDataSet.Mode.CUBIC_BEZIER // 显示曲线
set1.valueFormatter = object : ValueFormatter() {
override fun getFormattedValue(value: Float): String {
return DecimalFormat("0.00").format(value.toDouble()) // 数值保留2位小数
}
}
// x轴
val xAxis = view.linechart.xAxis
xAxis.position = XAxis.XAxisPosition.BOTTOM // x轴底部显示
xAxis.isEnabled = true
xAxis.setDrawGridLines(false) // 隐藏x轴线条
xAxis.textColor = Color.parseColor("#8FC7CC") // x轴字体颜色
xAxis.axisLineColor = Color.TRANSPARENT // 底部x轴透明色
xAxis.labelCount = 4 // x轴显示4段
xAxis.granularity = 1f // 让x轴上自定义的值和折线上相对应
// x轴数值
val quarterStrs = ArrayList<String>()
quarterStrs.add("09:00")
quarterStrs.add("11:00")
quarterStrs.add("13:00")
quarterStrs.add("15:00")
quarterStrs.add("17:00")
xAxis.valueFormatter = object : ValueFormatter() {
override fun getAxisLabel(value: Float, axis: AxisBase?): String {
return quarterStrs[value.toInt() % quarterStrs.size] // 显示x轴数值
}
}
// 左边y轴
val leftAxis = view.linechart.axisLeft
leftAxis.axisMinimum = 4.8f // y轴最小值
leftAxis.axisMaximum = 6.2f // y轴最大值
leftAxis.enableGridDashedLine(5f, 5f, 0f) // y轴虚线
leftAxis.textColor = Color.parseColor("#8FC7CC") // y轴字体颜色
leftAxis.axisLineColor = Color.TRANSPARENT // y轴边线颜色透明
leftAxis.gridColor = Color.parseColor("#335566") // y轴颜色
leftAxis.labelCount = 4 // y轴显示4段
leftAxis.valueFormatter = object : ValueFormatter() {
override fun getAxisLabel(value: Float, axis: AxisBase?): String {
return DecimalFormat("0.00").format(value.toDouble()) // 数值保留2位小数
}
}
view.linechart.axisRight.isEnabled = false // 隐藏右边y轴
val dataSets = ArrayList<ILineDataSet>()
dataSets.add(set1)
val data = LineData(dataSets)
view.linechart.data = data
view.linechart.legend.isEnabled = false // 隐藏左下角说明
view.linechart.setTouchEnabled(false) // 设置图表不可点击
view.linechart.animateY(500) // 显示动画
}
···
网友评论