MPAndroidChart绘制图表

本文介绍了如何使用MPAndroidChart库在Android项目中绘制饼状图、柱状图和折线图。MPAndroidChart是一个强大的图表库,相比Google自带的AChartEngine,其提供了更多自定义和绚丽的图表效果。
摘要由CSDN通过智能技术生成

最新项目上遇到要绘制图表的功能,研究了一下,也使用了一些绘制图表的库,其中包含AChartEngine (google自带),但是goole自带的功能简单,要想绘制绚丽的图表要自己改源码。所以,这里推荐一款绘制图表的库–MPAndroidChart。

MPAndroidChart的源码地址:https://github.com/PhilJay/MPAndroidChart

下面将详细介绍绘制过程,xml什么的就略过了(因为每个图就是一个控件)。

1、饼状图PieChat

饼状图

/**
     * PieChat
     *
     * @param mPieChat
     */
    public void initPieChat(PieChart mPieChat, List<Map<String, Object>> list) {

        mPieChat.setUsePercentValues(true);//显示百分比
        mPieChat.setDescription("");
        mPieChat.setDrawHoleEnabled(true);
        mPieChat.setHoleColorTransparent(true);

        mPieChat.setTransparentCircleColor(Color.WHITE);

        mPieChat.setHoleRadius(30f);//半径
        mPieChat.setTransparentCircleRadius(32f);//半透明圆

        mPieChat.setDrawCenterText(false);//饼状图中间可以添加文字

        mPieChat.setRotationAngle(0);//初始旋转角度
        // enable rotation of the chart by touch
        mPieChat.setRotationEnabled(false);//可以手动旋转

        PieData data = getPieData(list);
        data.setValueFormatter(new PercentFormatter());
        data.setValueTextSize(15f);

        data.setValueTextColor(Color.WHITE);
        data.setDrawValues(true);
        mPieChat.setData(data);
        // undo all highlights
        mPieChat.highlightValues(null);
        mPieChat.setDrawSliceText(false);//让xValues不显示 找了好久的源码才发现
        mPieChat.invalidate();

        Legend mLegend = mPieChat.getLegend();  //设置比例图
        mLegend.setPosition(Legend.LegendPosition.RIGHT_OF_CHART_INSIDE);
//      mLegend.setForm(LegendForm.LINE);  //设置比例图的形状,默认是方形
//        mLegend.setXEntrySpace(7f);
//        mLegend.setYEntrySpace(5f);
    }
private PieData getPieData(List<Map<String, Object>> list) {
        ArrayList<String> xValues = new ArrayList<String>();  //xVals用来表示每个饼块上的内容
        ArrayList<Entry> yValues = new ArrayList<Entry>();  //yVals用来表示封装每个饼块的实际数据

        for (int i = 0; i < list.size(); i++</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值