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,841評論 25 708
  • 所謂平靜不過是無力掙扎的另一種解說,程府大院里再也不見那個眉頭微蹙,身姿俊逸的年輕人。 程老爺有氣無力...
    甄弛閱讀 103評論 0 0
  • 雨破碎之前 是暗啞積沉的云 淚滑落之前 是嘴角微揚的笑 那些飛濺的水珠 永遠在破碎 有些珍貴的東西 無法修補 孩子...
    小二不2閱讀 273評論 2 1
  • 主目錄見:Android高級進階知識(這是總目錄索引)[written by 無心追求] TCP問題分析 網絡的五...
    ZJ_Rocky閱讀 1,585評論 0 5
  • 姓名:邢喜全 公司:寧波大發化纖有限公司 組別:第235期 感謝一組 【日精進打卡第 91天】 【知~學習】 聽...
    天上人間_3c17閱讀 241評論 0 0