欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Android MPAndroidChart之饼图PieChart

程序员文章站 2022-11-01 15:48:52
APP为了能让用户对数据有更直观,更便捷的认识,我们通常都选择了以图表的方式展示给用户,如折线图、饼图、条形图等…今天和大家分享下MPAndroidChart,一个强大便捷的图标控件。本篇我们分享下饼状图PieChart的使用>>>>先贴张效果图<<<<第一步,添加依赖 //曲线图 饼状图 折线图 implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0'第二步,添加布局 <...

APP为了能让用户对数据有更直观,更便捷的认识,我们通常都选择了以图表的方式展示给用户,如折线图、饼图、条形图等…今天和大家分享下MPAndroidChart,一个强大便捷的图标控件。

Android MPAndroidChart之柱状图BarChart

Android MPAndroidChart之折线图LineChart

本篇我们分享下饼状图PieChart的使用

>>>>先贴张效果图<<<<

Android MPAndroidChart之饼图PieChart

第一步,添加依赖

 //曲线图  饼状图 折线图
    implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0'

第二步,添加布局

 <com.github.mikephil.charting.charts.PieChart
            android:id="@+id/picChart"
            android:layout_width="match_parent"
            android:layout_marginTop="20dp"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp"
            android:layout_height="300dp" />

第三步设置属性

  val strings: MutableList<PieEntry> = ArrayList()
        strings.add(PieEntry(30f, "黄金"))
        strings.add(PieEntry(10f, "白银"))
        strings.add(PieEntry(60f, "青铜"))
        val dataSet = PieDataSet(strings, "")

        val colors = ArrayList<Int>()
        colors.add(ContextCompat.getColor(this,R.color.red))
        colors.add(ContextCompat.getColor(this,R.color.blue))
        colors.add(ContextCompat.getColor(this,R.color.orange))
        dataSet.colors = colors

        val pieData = PieData(dataSet)
        pieData.setDrawValues(true)

        picChart.data = pieData
        var desc=Description()
        desc.text=""
        picChart.description= desc
        picChart.holeRadius = 0f//空心半径
        picChart.transparentCircleRadius = 0f//去掉半透明
        pieData.setValueFormatter(PercentFormatter())//显示百分比
        pieData.setValueTextSize(12f)//显示字体
        picChart.isRotationEnabled = false  // 设置pieChart图表是否可以手动旋转
        //数据连接线距图形片内部边界的距离,为百分数
        dataSet.valueLinePart1OffsetPercentage = 80f;

        dataSet.valueLineColor = Color.LTGRAY;
        // 连接线在饼状图外面
        dataSet.yValuePosition = PieDataSet.ValuePosition.INSIDE_SLICE

        picChart.invalidate()

本文地址:https://blog.csdn.net/qq_28643195/article/details/112521544