MPAndroidChart 是 Android 上一个非常流行的开源图表库,它提供了多种类型的图表,包括折线图、柱状图、饼图等。下面是一个使用 MPAndroidChart 实现饼图的示例代码:
首先,需要在项目的 build.gradle 文件中添加 MPAndroidChart 的依赖:
implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0'
然后,在布局文件中添加一个 PieChart 控件:
<com.github.mikephil.charting.charts.PieChart
android:id="@+id/pieChart"
android:layout_width="match_parent"
android:layout_height="match_parent" />
在代码中,可以先获取 PieChart 控件的实例,并设置一些基本的属性,例如是否显示图例、是否启用旋转等:
val pieChart = findViewById<PieChart>(R.id.pieChart)
// 不显示图例
pieChart.legend.isEnabled = false
// 启用旋转
pieChart.isRotationEnabled = true
然后,需要创建一个 PieDataSet 对象来存储饼图的数据,并设置每个数据的颜色、标签等属性:
val entries = listOf(
PieEntry(20f, "A"),
PieEntry(30f, "B"),
PieEntry(50f, "C")
)
val dataSet = PieDataSet(entries, "Pie Chart")
dataSet.colors = listOf(Color.RED, Color.GREEN, Color.BLUE)
dataSet.valueTextColor = Color.BLACK
在上面的代码中,我们首先创建了一个包含三个数据的 List,每个数据包含一个数值和一个标签。然后,我们创建了一个 PieDataSet 对象,将 List 中的数据添加到其中,并设置了数据的颜色、标签颜色等属性。
最后,将 PieDataSet 对象添加到 PieData 中,并将 PieData 设置给 PieChart 控件即可:
val data = PieData(dataSet)
pieChart.data = data
pieChart.invalidate()
在上面的代码中,我们首先将 PieDataSet 对象添加到 PieData 中,然后将 PieData 设置给 PieChart 控件,并调用了 invalidate()
方法来刷新图表。
完整的饼图实现代码如下:
val pieChart = findViewById<PieChart>(R.id.pieChart)
// 不显示图例
pieChart.legend.isEnabled = false
// 启用旋转
pieChart.isRotationEnabled = true
val entries = listOf(
PieEntry(20f, "A"),
PieEntry(30f, "B"),
PieEntry(50f, "C")
)
val dataSet = PieDataSet(entries, "Pie Chart")
dataSet.colors = listOf(Color.RED, Color.GREEN, Color.BLUE)
dataSet.valueTextColor = Color.BLACK
val data = PieData(dataSet)
pieChart.data = data
pieChart.invalidate()
在运行代码后,将会显示一个包含三个扇形的饼图,每个扇形的颜色、标签和大小都根据数据自动计算。可以通过修改数据集中的数据、颜色等属性来改变图表的外观。