Android MpAndroidchart使用流程和坑--饼状图

PieChart

借鉴博客https://github.com/PhilJay/MPAndroidChart
http://www.jianshu.com/p/587946813a78

柱状图可以详见:http://blog.csdn.net/androidwubo/article/details/72918612
组合图可以详见:http://blog.csdn.net/androidwubo/article/details/72922171
该项目的源码:https://github.com/Orion-wubo/orion

步骤:
1、引用(三种方式,不一一介绍了,看github)
2、根据需求选择相应的表
折线图 LineChart
条形图 BarChart
条形折线图 Combined-Chart
圆饼图 PieChart
雷达图 ScatterChart
K线图 CandleStickChart
泡泡图 BubbleChart
网状图 RadarChart
3、获取相应控件
mPieChart = (PieChart) findViewById(R.id.chart1);
4、设置图标
mPieChart.setUsePercentValues(true);//数据以百分比进行绘制
        mPieChart.getDescription().setEnabled(false);//是否显示描述
        mPieChart.setExtraOffsets(5, 10, 5, 5);//设置距离左上右下的位置
        //设置中间文件--就是空心里面的文字
//mPieChart.setCenterText(generateCenterSpannableText());
        //设置是实心还是空心,实心false,空心true
        mPieChart.setDrawHoleEnabled(false);
        mPieChart.setDrawCenterText(true);//中间是否可以添加文字,当为空心
        mPieChart.setTransparentCircleColor(Color.WHITE);//透明圆的颜色
        mPieChart.setTransparentCircleAlpha(110);//设置透明度0-255,默认100
        mPieChart.setHoleRadius(58f);//半径
        mPieChart.setTransparentCircleRadius(61f);//透明圆的半径
        mPieChart.setRotationAngle(0);//设置初始的旋转角度
        mPieChart.setRotationEnabled(true);// 触摸旋转
        mPieChart.setHighlightPerTapEnabled(true);//true为点击高亮显示

//设置图标说明(这个通用)

//设置自定义mark(参考第二个博客)(可选内容)

// 输入标签样式(就是每一块的介绍的文字)
        mPieChart.setEntryLabelColor(Color.WHITE);
        mPieChart.setEntryLabelTextSize(12f);

5、设置数据 (从字面意思就可以理解了)
PieDataSet dataSet = new PieDataSet(entries, "");
        dataSet.setColor(Color.BLACK);
        dataSet.setSliceSpace(3f);
        dataSet.setSelectionShift(5f);
        dataSet.setYValuePosition(PieDataSet.ValuePosition.OUTSIDE_SLICE);


        //数据和颜色
        ArrayList<Integer> colors = new ArrayList<Integer>();
        colors.add(rgb("#5e9de5"));
        colors.add(rgb("#72e65f"));
        colors.add(rgb("#f48741"));
        colors.add(rgb("#6267e1"));
        dataSet.setColors(colors);
        PieData data = new PieData(dataSet);
        data.setValueFormatter(new PercentFormatter());
        data.setValueTextSize(11f);
        data.setValueTextColor(Color.BLACK);
        mPieChart.setData(data);
        mPieChart.highlightValues(null);
        //刷新
        mPieChart.invalidate();
6、设置文字(可选)
//设置中间文字
private SpannableString generateCenterSpannableText() {
//原文:MPAndroidChart\ndeveloped by Philipp Jahoda
SpannableString s = new SpannableString("刘某人程序员\n我仿佛听到有人说我帅");
//s.setSpan(new RelativeSizeSpan(1.7f), 0, 14, 0);
//s.setSpan(new StyleSpan(Typeface.NORMAL), 14, s.length() - 15, 0);
// s.setSpan(new ForegroundColorSpan(Color.GRAY), 14, s.length() - 15, 0);
//s.setSpan(new RelativeSizeSpan(.8f), 14, s.length() - 15, 0);
// s.setSpan(new StyleSpan(Typeface.ITALIC), s.length() - 14, s.length(), 0);
// s.setSpan(new ForegroundColorSpan(ColorTemplate.getHoloBlue()), s.length() - 14, s.length(), 0);
return s;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
饼状图是一种常用的数据可视化图表,在Android开发中,可以使用MPAndroidChart库来实现饼状图的绘制。MPAndroidChart是一个功能强大且易于使用的开源图表库,提供了丰富的图表类型和自定义选项。 要在Android项目中使用MPAndroidChart库,首先需要在项目的build.gradle文件中添加依赖: ``` dependencies { implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0' } ``` 接下来,在布局文件中添加一个`PieChart`视图: ```xml <com.github.mikephil.charting.charts.PieChart android:id="@+id/pie_chart" android:layout_width="match_parent" android:layout_height="match_parent" /> ``` 然后,在代码中获取`PieChart`实例,并设置数据和样式: ```java PieChart pieChart = findViewById(R.id.pie_chart); // 创建数据集 ArrayList<PieEntry> entries = new ArrayList<>(); entries.add(new PieEntry(40f, "Label 1")); entries.add(new PieEntry(30f, "Label 2")); entries.add(new PieEntry(20f, "Label 3")); entries.add(new PieEntry(10f, "Label 4")); PieDataSet dataSet = new PieDataSet(entries, "Pie Chart"); // 设置每个数据块的颜色 dataSet.setColors(ColorTemplate.COLORFUL_COLORS); PieData data = new PieData(dataSet); pieChart.setData(data); // 设置饼状图的样式和交互选项 pieChart.setDrawHoleEnabled(true); pieChart.setHoleColor(Color.WHITE); pieChart.setTransparentCircleColor(Color.WHITE); pieChart.setTransparentCircleAlpha(110); pieChart.setHoleRadius(58f); pieChart.setTransparentCircleRadius(61f); pieChart.setDrawCenterText(true); pieChart.setRotationEnabled(true); pieChart.setHighlightPerTapEnabled(true); pieChart.animateY(1400, Easing.EaseInOutQuad); // 更新视图 pieChart.invalidate(); ``` 这样就可以在Android应用中绘制一个简单的饼状图了。你可以根据需要调整样式和交互选项,以满足具体需求。更多关于MPAndroidChart使用和自定义选项,请参考官方文档和示例代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值