MPAndroidChart图表库

一、描述

</br>

主要介绍一下这个库的使用方法

二、环境配置

MPAndroidChart

allprojects {
    repositories {
        maven { url "https://jitpack.io" }
    }
}
dependencies { compile 'com.github.PhilJay:MPAndroidChart:v3.0.1'}

二、使用说明

</br>

饼图:


//设置对应的数据和颜色值
initChart(new float[]{5f, 15f}, new Integer[]{Color.parseColor("#3BA6F5"), Color.parseColor("#AC804F")});

/**
     * 描述:指定数据集合和颜色集合,显示对应的饼图
     * values : 多个占有的值,
     * colors : 对应值的颜色
     * 作者:卜俊文
     * 邮箱:344176791@qq.com
     * 日期:17/1/8 下午5:21
     */
    private void initChart(float[] values, Integer[] colors) {
        mPieChart.setExtraOffsets(5, 10, 5, 5);
        mPieChart.setUsePercentValues(false); //设置是否显示百分比

        //设置不显示默认右下角的文字
        Description description = new Description();
        description.setEnabled(false);
        mPieChart.setDescription(description);
        //设置中间是否空心
        mPieChart.setDrawHoleEnabled(false);
        // 设置滑动减速摩擦系数
        mPieChart.setDragDecelerationFrictionCoef(0.95f);
        // 设置旋转角度   ??
        mPieChart.setRotationAngle(0);
        mPieChart.setRotationEnabled(true);
        mPieChart.setHighlightPerTapEnabled(true); //设置饼图是否可点击放大
        //设置饼图的数据,添加占1.0中多少的数值,比如1,就传入0.5f
        List<PieEntry> data = new ArrayList<>();
        float sum = 0;
        for (float value : values) {
            sum += value;
        }
        for (float value : values) {
            data.add(new PieEntry(value / sum));
        }
        //添加对应的颜色值
        List<Integer> colorSum = new ArrayList<>();
        for (Integer color : colors) {
            colorSum.add(color);
        }
        //设置数据
        setData(data, colorSum);
        // 设置动画
        mPieChart.animateY(1400, Easing.EasingOption.EaseOutQuad);
        // 关闭了对应饼图的颜色说明
        mPieChart.getLegend().setEnabled(false); //关闭默认设置的颜色对应图形
    }

    public void setData(List<PieEntry> yVals1, List<Integer> colors) {
        PieDataSet dataSet = new PieDataSet(yVals1, "Election Results");
        // 设置饼图区块之间的距离
        dataSet.setSliceSpace(2f);
        dataSet.setSelectionShift(5f);
        // 添加颜色
        dataSet.setColors(colors);

        PieData data1 = new PieData(dataSet);
        data1.setValueFormatter(new PercentFormatter());
        data1.setValueTextSize(10f);
        data1.setValueTextColor(Color.parseColor("#00000000"));//这里直接设置透明的颜色了
        mPieChart.setData(data1);
        // undo all highlights
        mPieChart.highlightValues(null);
        mPieChart.invalidate();
    }

四、总结

如果项目有混淆的话,就加入下面这句话,不然打包后没有动画

-keep class com.github.mikephil.charting.** { *; }     # 确保MPAndroidChart加载动画可用

欢迎关注我的微信公众号,分享更多技术文章。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,916评论 25 708
  • 所谓平静不过是无力挣扎的另一种解说,程府大院里再也不见那个眉头微蹙,身姿俊逸的年轻人。 程老爷有气无力...
    甄弛阅读 103评论 0 0
  • 雨破碎之前 是暗哑积沉的云 泪滑落之前 是嘴角微扬的笑 那些飞溅的水珠 永远在破碎 有些珍贵的东西 无法修补 孩子...
    小二不2阅读 277评论 2 1
  • 主目录见:Android高级进阶知识(这是总目录索引)[written by 无心追求] TCP问题分析 网络的五...
    ZJ_Rocky阅读 1,588评论 0 5
  • 姓名:邢喜全 公司:宁波大发化纤有限公司 组别:第235期 感谢一组 【日精进打卡第 91天】 【知~学习】 听...
    天上人间_3c17阅读 241评论 0 0