Android编程之MPAndroidChart:Android 系统上一款开源的图表库
白羽 2018-07-24 来源 :网络 阅读 838 评论 0

摘要:本文将带你了解Android编程之MPAndroidChart:Android 系统上一款开源的图表库,希望本文对大家学Android有所帮助

MPAndroidChart 是 Android 系统上一款开源的图表库。目前提供线图和饼图,支持选择、缩放和拖放。
一个可以拖动缩放的图表库,包含曲线图、直方图、饼状图,其中直方图支持3d效果。
该库的可扩展性强,代码相对规范,最近一次更新有很大改进,如果不喜欢AChartEngine的过于复杂可以考虑在此库的基础上开发自己的图表类。
 
核心特性

轴缩放(触摸手势,轴分开或两指缩放)
拖动(触摸手势)
手指画(画值为图的触摸手势)
值的高亮显示(与可定制的弹出视图)
图表保存到SD卡(如图像,或作为。txt文件)
读取txt文件图表数据。
预定义的颜色模板
图例(自动生成的,可定制的)
标签(X和Y轴,可定制的)
动画(建立动画,在X和Y轴)
限制线(提供额外的信息,最大值,……)
完全可定制的(绘画颜料,字体,颜色,背景,图例,手势,虚线,。












 
 
使用例子
以piechart为例介绍使用方法:
xml中


  
  
   
   Java
   
   <com.github.mikephil.charting.charts.PieChart
  android:id="@+id/spread_pie_chart"
  android:layout_width="match_parent"
  android:layout_height="320dip" />
   
    
     
    
     1234
    
      <com.github.mikephil.charting.charts.PieChart  android:id="@+id/spread_pie_chart"  android:layout_width="match_parent"  android:layout_height="320dip" />
     
    
   
  



activity中

初始化
 

  
  
   
   Java
   
   ColorTemplate mCt;
 mCt = new ColorTemplate();
 mCt.addDataSetColors(ColorTemplate.PASTEL_COLORS, this);
 mChart = (PieChart) headView.findViewById(R.id.spread_pie_chart);
 mChart.setColorTemplate(mCt);
 mChart.setDescription("");
 mChart.setHoleRadius(30f);
 mChart.setTransparentCircleRadius(0f);
 mChart.setCenterTextSize(18f);
 mChart.setDrawXValues(true);
 mChart.setUsePercentValues(true);
 mChart.setDrawLegend(false);
 // space between slices
 mChart.setSliceSpace(1f);
 mChart.setDrawHoleEnabled(false);
 mChart.setTouchEnabled(false);
   
    
     
    
     12345678910111213141516
    
      ColorTemplate mCt; mCt = new ColorTemplate(); mCt.addDataSetColors(ColorTemplate.PASTEL_COLORS, this); mChart = (PieChart) headView.findViewById(R.id.spread_pie_chart); mChart.setColorTemplate(mCt); mChart.setDescription(""); mChart.setHoleRadius(30f); mChart.setTransparentCircleRadius(0f); mChart.setCenterTextSize(18f); mChart.setDrawXValues(true); mChart.setUsePercentValues(true); mChart.setDrawLegend(false); // space between slices mChart.setSliceSpace(1f); mChart.setDrawHoleEnabled(false); mChart.setTouchEnabled(false);
     
    
   
  



数据




  
  
   
   Java
   
   ArrayList<Entry> yVals = new ArrayList<Entry>();
ArrayList<String> xVals = new ArrayList<String>();
for (int i = 0; i < listDatas.size(); i++) {
    yVals.add(new Entry((float)listDatas.get(i).getProvinceCount(), i));
    xVals.add(listDatas.get(i).getProvinceName());
}
DataSet set1 = new DataSet(yVals, "Content");
ArrayList<DataSet> dataSets = new ArrayList<DataSet>();
dataSets.add(set1);
ChartData data = new ChartData(xVals, dataSets);
mChart.setData(data);
   
    
     
    
    
      ArrayList<Entry> yVals = new ArrayList<Entry>();ArrayList<String> xVals = new ArrayList<String>();for (int i = 0; i < listDatas.size(); i++) {    yVals.add(new Entry((float)listDatas.get(i).getProvinceCount(), i));    xVals.add(listDatas.get(i).getProvinceName());}DataSet set1 = new DataSet(yVals, "Content");ArrayList<DataSet> dataSets = new ArrayList<DataSet>();dataSets.add(set1);ChartData data = new ChartData(xVals, dataSets);mChart.setData(data);
     
    
   
  




其中listData为自己项目中的数据源。
 
github地址 https://github.com/PhilJay/MPAndroidChart    

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之Android频道!

本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程