• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > 开源图表库MPAndroidChart使用介绍之饼状图&折线图&柱状图,图表mpandroidchart

开源图表库MPAndroidChart使用介绍之饼状图&折线图&柱状图,图表mpandroidchart

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了mpandroidchart,mpandroidchart官网,mpandroidchart文档,mpandroidchart折线图,mpandroidchart使用等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

开源图表库MPAndroidChart使用介绍之饼状图&折线图&柱状图,图表mpandroidchart


MPAndroidChart开源图表库之饼状图

  为大家介绍一款图标开源库MPAndroidChart,它不仅可以在Android设备上绘制各种统计图表,而且可以对图表进行拖动和缩放操作,用起来非常灵活。MPAndroidChart同样拥有常用的图表类型:线型图、饼图、柱状图和散点图。

mpandroidchartlibrary.jar包下载地址:

https://github.com/PhilJay/MPAndroidChart/releases

  下面主要实现以下饼状图:

  1.从上面的地址中下载最新mpandroidchartlibrary-2-0-8.jar包, 然后copy到项目的libs中

  2. 定义xml文件

3.  主要Java逻辑代码如下。

importjava.util.ArrayList;  

importcom.github.mikephil.charting.charts.PieChart;  
importcom.github.mikephil.charting.components.Legend;  
importcom.github.mikephil.charting.components.Legend.LegendPosition;  
importcom.github.mikephil.charting.data.Entry;  
importcom.github.mikephil.charting.data.PieData;  
importcom.github.mikephil.charting.data.PieDataSet;  

import android.support.v7.app.ActionBarActivity;  
importandroid.graphics.Color;  
importandroid.os.Bundle;  
importandroid.util.DisplayMetrics;  

public class MainActivity extends ActionBarActivity {  

privatePieChartmChart;  

    @Override  
protected void onCreate(Bundle savedInstanceState) {  
super.onCreate(savedInstanceState);  
setContentView(R.layout.activity_main);  

mChart = (PieChart) findViewById(R.id.spread_pie_chart);  
PieDatamPieData = getPieData(4, 100);  
showChart(mChart, mPieData);  
    }  

private void showChart(PieChartpieChart, PieDatapieData) {  
pieChart.setHoleColorTransparent(true);  

pieChart.setHoleRadius(60f);  //半径
pieChart.setTransparentCircleRadius(64f); // 半透明圈
        //pieChart.setHoleRadius(0)  //实心圆

pieChart.setDescription("测试饼状图");  

        // mChart.setDrawYValues(true);  
pieChart.setDrawCenterText(true);  //饼状图中间可以添加文字

pieChart.setDrawHoleEnabled(true);  

pieChart.setRotationAngle(90); // 初始旋转角度

        // draws the corresponding description value into the slice  
        // mChart.setDrawXValues(true);  

        // enable rotation of the chart by touch  
pieChart.setRotationEnabled(true); // 可以手动旋转

        // display percentage values  
pieChart.setUsePercentValues(true);  //显示成百分比
        // mChart.setUnit(" €");  
        // mChart.setDrawUnitsInChart(true);  

        // add a selection listener  
//      mChart.setOnChartValueSelectedListener(this);  
        // mChart.setTouchEnabled(false);  

//      mChart.setOnAnimationListener(this);  

pieChart.setCenterText("Quarterly Revenue");  //饼状图中间的文字

        //设置数据
pieChart.setData(pieData);   

        // undo all highlights  
//      pieChart.highlightValues(null);  
//      pieChart.invalidate();  

        Legend mLegend = pieChart.getLegend();  //设置比例图
mLegend.setPosition(LegendPosition.RIGHT_OF_CHART);  //最右边显示
//      mLegend.setForm(LegendForm.LINE);  //设置比例图的形状,默认是方形
mLegend.setXEntrySpace(7f);  
mLegend.setYEntrySpace(5f);  

pieChart.animateXY(1000, 1000);  //设置动画
        // mChart.spin(2000, 0, 360);  
    }  

    /** 
     *  
     * @param count 分成几部分
     * @param range 
     */  
privatePieDatagetPieData(int count, float range) {  

ArrayList<String>xValues = new ArrayList<String>();  //xVals用来表示每个饼块上的内容

for (inti = 0; i< count; i++) {  
xValues.add("Quarterly" + (i + 1));  //饼块上显示成Quarterly1, Quarterly2, Quarterly3, Quarterly4  
        }  

ArrayList<Entry>yValues = new ArrayList<Entry>();  //yVals用来表示封装每个饼块的实际数据

        // 饼图数据
        /** 
         * 将一个饼形图分成四部分,四部分的数值比例为14:14:34:38 
         * 所以 14代表的百分比就是14%  
         */  
float quarterly1 = 14;  
float quarterly2 = 14;  
float quarterly3 = 34;  
float quarterly4 = 38;  

yValues.add(new Entry(quarterly1, 0));  
yValues.add(new Entry(quarterly2, 1));  
yValues.add(new Entry(quarterly3, 2));  
yValues.add(new Entry(quarterly4, 3));  

        //y轴的集合
PieDataSetpieDataSet = new PieDataSet(yValues, "Quarterly Revenue 2014"/*显示在比例图上*/);  
pieDataSet.setSliceSpace(0f); //设置个饼状图之间的距离

ArrayList<Integer> colors = new ArrayList<Integer>();  

        // 饼图颜色
colors.add(Color.rgb(205, 205, 205));  
colors.add(Color.rgb(114, 188, 223));  
colors.add(Color.rgb(255, 123, 124));  
colors.add(Color.rgb(57, 135, 200));  

pieDataSet.setColors(colors);  

DisplayMetrics metrics = getResources().getDisplayMetrics();  
floatpx = 5 * (metrics.densityDpi / 160f);  
pieDataSet.setSelectionShift(px); // 选中态多出的长度

PieDatapieData = new PieData(xValues, pieDataSet);  

returnpieData;  
    }  
}

效果图如下:

MPAndroidChart开源图表库之折线图

1. 将mpandroidchartlibrary-2-0-8.jar包copy到项目的libs中

2. 定义xml文件

 

3.  主要Java逻辑代码如下。

packagecom.example.mpandroidlinechart;  

importjava.util.ArrayList;  

importcom.github.mikephil.charting.charts.LineChart;  
importcom.github.mikephil.charting.components.Legend;  
importcom.github.mikephil.charting.components.Leg



 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Android开发学习之路--图表实现(achartengine/MPAndroidChart)之初体验
  • 开源图表库MPAndroidChart使用介绍之饼状图&amp;折线图&amp;柱状图,图表mpandroidchart

相关文章

  • 2017-05-26Android中View实现弹性滑动的方法——Android开发艺术探索笔记
  • 2017-05-26Android--数据库数据显示至屏幕
  • 2017-05-26从视频中每X秒创建一个缩略图
  • 2017-05-26Mac版 Android Studio快捷键大全,android快捷键大全
  • 2017-05-26VS2015墙内创建ionic2 【利用nrm更换源,完美!】,vs2015ionic2
  • 2017-05-26linux tcp GSO和TSO实现
  • 2017-05-26ListView中响应item的点击事件并且刷新界面,listviewitem
  • 2017-05-26我的android学习经历6,android学习经历6
  • 2017-05-26TabLayout + ViewPager,tablayoutviewpager
  • 2017-05-26Android网络编程(二)HttpClient与HttpURLConnection

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 使用phonegap播放音频,phonegap播放音频
    • Google Play发布App中遇到&quot;多个APK:版本1未提供给任何设备配置使用。&quot;问题的解决方法,appapk
    • traceroute和tracert的区别
    • Android开发学习—— 创建项目时,不是继承activity,而是继承ActionBarActivity,androidactivity继承
    • 硅谷社交14--选择联系人页面,硅谷社交14--联系人
    • Android Butterknife 8.4.0 使用方法总结,butterknife8.4.0
    • 极其简单的搭建eclipse的android开发环境,搭建eclipseandroid
    • FragmentStatePagerAdapter和FragmentPagerAdapter区别,fragmentpageradapter
    • React Native,reactnative
    • android布局--Android fill_parent、wrap_content和match_parent的区别,wrapparent

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有