您的位置:首页 > 移动开发 > Android开发

MPandroidchart 画饼图的各种属性设置

2015-03-12 09:29 459 查看
MPAndroidChart 是 Android 系统上一款开源的图表库。目前提供线图和饼图,支持选择、缩放和拖放。相比于achartengine提供了更多的功能,更绚丽的界面,性能也更好。

  一下是关于MPAndroidChart画饼图的一些属性设置:

         mChart = (PieChart)findViewById(R.id.chart1);

        

        // change the color of the center-hole

        // 设置中间圆盘的颜色

        mChart.setHoleColor(Color.rgb(235, 235, 235));

        

        Typeface tf = Typeface.createFromAsset(getAssets(), "OpenSans-Regular.ttf");

        // 设置圆盘百分比的字体

        mChart.setValueTypeface(tf);

        // 设置周围字体颜色

        // mChart.setValueTextColor(Color.BLACK);

        // 设置周围文字大小

        // mChart.setValueTextSize(size);

        // 设置圆盘中间区域的字体

        mChart.setCenterTextTypeface(Typeface.createFromAsset(getAssets(), "OpenSans-Light.ttf"));

        // 设置圆盘中间区域大小

        mChart.setHoleRadius(60f);

        // 设置中间透明圈的大小

        mChart.setTransparentCircleRadius(60f);

        // 饼图又下角的说明文字

        mChart.setDescription("这是一个饼图");

        // 饼图右下角说明文字大小

        // mChart.setDescriptionTextSize(7);

        

        // 是否显示圆盘中间文字 默认显示

        mChart.setDrawCenterText(true);

        // 设置是否显示饼图中心的空白区 默认显示

        mChart.setDrawHoleEnabled(true);

        

        mChart.setRotationAngle(0);

        

        // draws the corresponding description value into the slice

        // 是否显示x-value的文字

        mChart.setDrawXValues(true);

        // 是否显示y-value的文字

        mChart.setDrawYValues(true);

        

        // enable rotation of the chart by touch

        // 圆盘是否可转动

        mChart.setRotationEnabled(true);

        

        // display percentage values

        // 是否使用百分比

        mChart.setUsePercentValues(true);

        // 一起使用

        // 单位

        // mChart.setUnit(" g");

        // 设置是否使用单位 默认false

        // mChart.setDrawUnitsInChart(true);

        

        // add a selection listener

        // 设置一个选中监听

        mChart.setOnChartValueSelectedListener(this);

        // 设置是否接收点击事件

        // mChart.setTouchEnabled(false);

        // 设置中间的文字

        mChart.setCenterText("MPAndroidChart\nLibrary");

        // 设置圆盘中间文字大小

        // mChart.setCenterTextSize(size);

        // 设置动画

        mChart.animateXY(1500, 1500);

        // mChart.spin(2000, 0, 360);

        // 设置饼图说明

        Legend l = mChart.getLegend();

        

        l.setPosition(LegendPosition.RIGHT_OF_CHART);

        l.setXEntrySpace(7f);

        l.setYEntrySpace(5f);

        // 设置是否显示图表说明

        // mChart.setDrawLegend(false);

        //设置X轴动画

        mChart.animateX(1800);

        //设置y轴动画

        mChart.animateY(1800);

        //设置xy轴一起的动画

       mChart.animateXY(1800, 1800);

        //设置饼图XY轴上的数据

        ArrayList<Entry> yVals1 = new ArrayList<Entry>();

       

        for (int i = 0; i < count + 1; i++)

        {

            yVals1.add(new Entry((float)(Math.random() * mult) + mult / 5, i));

        }

        

        ArrayList<String> xVals = new ArrayList<String>();

        

        for (int i = 0; i < count + 1; i++)

        {

            xVals.add(mParties[i % mParties.length]);

        }

        

        PieDataSet set1 = new PieDataSet(yVals1, "Election Results");

        set1.setSliceSpace(3f);

        // int colors[] = {Color.RED,Color.BLUE,Color.BLACK};

        // 设置饼图每个区域的颜色

        set1.setColors(ColorTemplate.VORDIPLOM_COLORS);

        

        PieData data = new PieData(xVals, set1);

        mChart.setData(data);

        

        // undo all highlights

        mChart.highlightValues(null);

        

        mChart.invalidate();

       以上有表达不清楚或者错误的地方还请大家提出来,谢谢!!!

     项目地址:https://github.com/PhilJay/MPAndroidChart
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 界面 开源 动画