当前位置: 首页 > 工具软件 > PieChart > 使用案例 >

PieChart属性

戴鸿羲
2023-12-01

// 设置 pieChart 图表基本属性
mChart.setUsePercentValues(false); //使用百分比显示
mChart.getDescription().setEnabled(false); //设置pieChart图表的描述
mChart.setBackgroundColor(Color.YELLOW); //设置pieChart图表背景色
mChart.setExtraOffsets(5, 10, 60, 10); //设置pieChart图表上下左右的偏移,类似于外边距
mChart.setDragDecelerationFrictionCoef(0.95f);//设置pieChart图表转动阻力摩擦系数[0,1]
mChart.setRotationAngle(0); //设置pieChart图表起始角度
mChart.setRotationEnabled(true); //设置pieChart图表是否可以手动旋转
mChart.setHighlightPerTapEnabled(true); //设置piecahrt图表点击Item高亮是否可用
mChart.animateY(1400, Easing.EasingOption.EaseInOutQuad);// 设置pieChart图表展示动画效果

// 设置 pieChart 图表Item文本属性
mChart.setDrawEntryLabels(true); //设置pieChart是否只显示饼图上百分比不显示文字(true:下面属性才有效果)
mChart.setEntryLabelColor(Color.WHITE); //设置pieChart图表文本字体颜色
mChart.setEntryLabelTypeface(mTfRegular); //设置pieChart图表文本字体样式
mChart.setEntryLabelTextSize(10f); //设置pieChart图表文本字体大小

// 设置 pieChart 内部圆环属性
mChart.setDrawHoleEnabled(true); //是否显示PieChart内部圆环(true:下面属性才有意义)
mChart.setHoleRadius(28f); //设置PieChart内部圆的半径(这里设置28.0f)
mChart.setTransparentCircleRadius(31f); //设置PieChart内部透明圆的半径(这里设置31.0f)
mChart.setTransparentCircleColor(Color.BLACK);//设置PieChart内部透明圆与内部圆间距(31f-28f)填充颜色
mChart.setTransparentCircleAlpha(50); //设置PieChart内部透明圆与内部圆间距(31f-28f)透明度[0~255]数值越小越透明
mChart.setHoleColor(Color.WHITE); //设置PieChart内部圆的颜色
mChart.setDrawCenterText(true); //是否绘制PieChart内部中心文本(true:下面属性才有意义)
mChart.setCenterTextTypeface(mTfLight); //设置PieChart内部圆文字的字体样式
mChart.setCenterText(“Test”); //设置PieChart内部圆文字的内容
mChart.setCenterTextSize(10f); //设置PieChart内部圆文字的大小
mChart.setCenterTextColor(Color.RED); //设置PieChart内部圆文字的颜色

// pieChart添加数据
setData();

// 获取pieCahrt图列
Legend l = mChart.getLegend();
l.setEnabled(true); //是否启用图列(true:下面属性才有意义)
l.setVerticalAlignment(Legend.LegendVerticalAlignment.TOP);
l.setHorizontalAlignment(Legend.LegendHorizontalAlignment.RIGHT);
l.setOrientation(Legend.LegendOrientation.VERTICAL);
l.setForm(Legend.LegendForm.DEFAULT); //设置图例的形状
l.setFormSize(10); //设置图例的大小
l.setFormToTextSpace(10f); //设置每个图例实体中标签和形状之间的间距
l.setDrawInside(false);
l.setWordWrapEnabled(true); //设置图列换行(注意使用影响性能,仅适用legend位于图表下面)
l.setXEntrySpace(10f); //设置图例实体之间延X轴的间距(setOrientation = HORIZONTAL有效)
l.setYEntrySpace(8f); //设置图例实体之间延Y轴的间距(setOrientation = VERTICAL 有效)
l.setYOffset(0f); //设置比例块Y轴偏移量
l.setTextSize(14f); //设置图例标签文本的大小
l.setTextColor(Color.parseColor("#ff9933"));//设置图例标签文本的颜色

//pieChart 选择监听
mChart.setOnChartValueSelectedListener(this);

//设置MARKERVIEW
CustomMarkerView mv = new CustomMarkerView(this, new PercentFormatter());
mv.setChartView(mChart);
mChart.setMarker(mv);

/**

  • 设置饼图的数据
    */
    private void setData() {
    ArrayList pieEntryList = new ArrayList();
    ArrayList colors = new ArrayList();
    colors.add(Color.parseColor("#f17548"));
    colors.add(Color.parseColor("#FF9933"));
    //饼图实体 PieEntry
    PieEntry CashBalance = new PieEntry(70, “现金余额 1500”);
    PieEntry ConsumptionBalance = new PieEntry(30, “消费余额 768”);
    pieEntryList.add(CashBalance);
    pieEntryList.add(ConsumptionBalance);
    //饼状图数据集 PieDataSet
    PieDataSet pieDataSet = new PieDataSet(pieEntryList, “资产总览”);
    pieDataSet.setSliceSpace(3f); //设置饼状Item之间的间隙
    pieDataSet.setSelectionShift(10f); //设置饼状Item被选中时变化的距离
    pieDataSet.setColors(colors); //为DataSet中的数据匹配上颜色集(饼图Item颜色)
    //最终数据 PieData
    PieData pieData = new PieData(pieDataSet);
    pieData.setDrawValues(true); //设置是否显示数据实体(百分比,true:以下属性才有意义)
    pieData.setValueTextColor(Color.BLUE); //设置所有DataSet内数据实体(百分比)的文本颜色
    pieData.setValueTextSize(12f); //设置所有DataSet内数据实体(百分比)的文本字体大小
    pieData.setValueTypeface(mTfLight); //设置所有DataSet内数据实体(百分比)的文本字体样式
    pieData.setValueFormatter(new PercentFormatter());//设置所有DataSet内数据实体(百分比)的文本字体格式
    mChart.setData(pieData);
    mChart.highlightValues(null);
    mChart.invalidate(); //将图表重绘以显示设置的属性和数据
    }
    ————————————————
    版权声明:本文为CSDN博主「zcmain」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/zcmain/article/details/53611245
 类似资料: