饼图使用自我记录

饼图使用自我记录

view相关(常用)

  		pieChart.setUsePercentValues(true)            //使用百分比显示
        pieChart.setBackgroundColor(Color.WHITE)      //设置pieChart图表背景色
		pieChart.setExtraOffsets(20f, 15f, 20f, 10f)  //设置饼图的位置
		pieChart.isRotationEnabled = false              //设置pieChart图表是否可以手动旋转
        pieChart.dragDecelerationFrictionCoef = 0.8f//设置pieChart图表转动阻力摩擦系数
        pieChart.rotationAngle = 0f                   //设置pieChart图表起始角度
      
        pieChart.isHighlightPerTapEnabled = false       //设置piecahrt图表点击突出显示是否可用
        pieChart.highlightValues(null)  //突出显示内容
        pieChart.animateY(1400, Easing.EasingOption.EaseInOutQuad)// 设置pieChart图表展示动画效果
     
        pieChart.setDrawEntryLabels(true)  
        //设置pieChart是否显示文字不显示百分比(true:下面属性才有效果)
        pieChart.setEntryLabelColor(Color.WHITE)       //设置pieChart图表文本字体颜色
        Piechart.setEntryLabelTypeface(mTfRegular);     //设置pieChart图表文本字体样式
		pieChart.setEntryLabelTextSize(16f)            //设置pieChart图表文本字体大小
       
        // 设置 pieChart 内部圆环属性
        pieChart.isDrawHoleEnabled = true //是否显示PieChart内部圆环(true:下面属性才有意义)
         pieChart.setHoleColor(Color.WHITE)             //设置PieChart内部圆的颜色
        pieChart.holeRadius = 52f                    //设置PieChart内部圆的半径
        pieChart.transparentCircleRadius = 62f       //设置PieChart内部透明圆的半径
        pieChart.setTransparentCircleColor(Color.WHITE)
        //设置PieChart内部透明圆与内部圆间距填充颜色
        pieChart.setTransparentCircleAlpha(50)
        //设置PieChart内部透明圆与内部圆间距透明度[0~255]数值越小越透明
        pieChart.setDrawCenterText(true)  //是否绘制PieChart内部中心文本(true:下面属性才有意义)
        pieChart.setCenterTextSize(20f); //设置PieChart内部圆文字的大小
      
        pieChart.setCenterText(item.offlineNo.toString()) //设置PieChart内部圆文字的内容
        pieChart.setCenterTextColor(Color.parseColor("#FFBD00"))  //设置PieChart内部圆文字的颜色
			
		val des=pieChart.description    //图表描述相关,根据需求使用相关方法
		des.isEnabled = false    //设置pieChart是否有图表描述
		val legend=pieChart.legend  //图例相关
		legend.isEnabled = false	//是否启用
		pieChart.setNoDataText("暂无数据") //无数据时

数据相关

		
        val colors = ArrayList<Int>() //每个item颜色list
        colors.add(Color.parseColor("#008EF0"))
        colors.add(Color.parseColor("#FF6268"))
        colors.add(Color.parseColor("#FFBD00"))
       
        val pieEntryList = ArrayList<PieEntry>() //实体list
        var pieEntry = PieEntry(f, "") //饼图实体 PieEntry  参数1为 占比(float),参数2为 显示内容。
        pieEntryList.add(pieEntry)
        
        val pieDataSet = PieDataSet(pieEntryList, "") //dataSet 参数1 数据,参数2为 描述。
        pieDataSet.sliceSpace = 3f           //设置饼状Item之间的间隙
        pieDataSet.selectionShift = 10f      //设置饼状Item被选中时变化的距离
        pieDataSet.colors = colors           //为DataSet中的数据匹配上颜色集(饼图Item颜色)
        //数据连接线距图形片内部边界的距离,为百分数  大于100 指向圆外
        pieDataSet.valueLinePart1OffsetPercentage = 80F
      
        pieDataSet.valueLineColor =0  //设置连接线的颜色 原生不支持多色
        pieDataSet.valueLineWidth=2f //设置连接线的宽度 
        pieDataSet.valueLinePart1Length = 0.4f  //第一段线长度 如果小于第二段 成反向折线?
        pieDataSet.valueLinePart2Length = 0.2f  //第二段线长度
        pieDataSet.isValueLineVariableLength = false //设置与饼图的连接线是否可变
        pieDataSet.valueTextSize=20f  //标签字体大小
   
        pieDataSet.yValuePosition = PieDataSet.ValuePosition.OUTSIDE_SLICE // 连接线在饼状图外面
        pieDataSet.xValuePosition = PieDataSet.ValuePosition.OUTSIDE_SLICE//标签显示在外面

        
        val pieData = PieData(pieDataSet)//最终数据 PieData

        pieData.setDrawValues(true)            //设置是否显示数据实体(true:以下属性才有意义)
        pieData.setValueFormatter { value, entry, dataSetIndex, viewPortHandler ->
            val pieEntry = entry as PieEntry
            pieEntry.label
        }
        pieData.setValueTextColors(colors)  //设置所有DataSet内数据实体的文本颜色
        pieData.setValueTextSize(12f)          //设置所有DataSet内数据实体的文本字体大小
        pieData.setValueTypeface(mTfLight);     
        pieData.setValueFormatter(new  );//设置所有DataSet内数据实体的文本字体格式

补充

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值