MPAndroidChart图表库

一、描述


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

二、环境配置

MPAndroidChart

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

二、使用说明


饼图:

MPAndroidChart图表库_第1张图片

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

/**
     * 描述:指定数据集合和颜色集合,显示对应的饼图
     * values : 多个占有的值,
     * colors : 对应值的颜色
     * 作者:卜俊文
     * 邮箱:[email protected]
     * 日期: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 data = new ArrayList<>();
        float sum = 0;
        for (float value : values) {
            sum += value;
        }
        for (float value : values) {
            data.add(new PieEntry(value / sum));
        }
        //添加对应的颜色值
        List 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 yVals1, List 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加载动画可用

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

MPAndroidChart图表库_第2张图片

你可能感兴趣的:(MPAndroidChart图表库)