近日需要做图表结构的项目,目前最火的就是hellocharts  和MPAndroidChart  相对来说hellocharts集成比较简单:

官网地址   https://github.com/lecho/hellocharts-android和https://github.com/PhilJay/MPAndroidChart

参考地址:https://blog.csdn.net/ITermeng/article/details/70135539

中文版注释版:https://github.com/IamXiaRui/Android_5.0_ViewDemo/tree/master/HelloChartsDemo

针对hellocharts进行了一些了解和心得给大家共同分享一下,不足之处多多指教:

  一、柱状图

简单的集成:

(1)在AndroidStudio的build.gradle中添加依赖:

dependencies{
compile 'com.github.lecho:hellocharts-library:1.5.8@aar'
}

(2)引用控件

 <lecho.lib.hellocharts.view.ColumnChartView
android:id="@+id/chart"
android:layout_width="match_parent"
android:layout_height="400dp"
android:layout_margin="10dp"/>

(3)设置数据以及详细参数

 @Bind(R.id.chart)
ColumnChartView ColumnChartView;
/*========== 数据相关 ==========*/
private ColumnChartData mColumnChartData; //柱状图数据
public final static String[] xValues = new String[]{"语文", "数学", "英语", "音乐", "科学", "体育"}; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_surface);
ButterKnife.bind(this);
initDate();
} private void initDate() {
/*========== 柱状图数据填充 ==========*/
List<Column> columnList = new ArrayList<>(); //柱子列表
List<SubcolumnValue> subcolumnValueList; //子柱列表(即一个柱子,因为一个柱子可分为多个子柱)
List<AxisValue> axisValues = new ArrayList<>();//创建x轴数据
for (int i = ; i < ; ++i) {
subcolumnValueList = new ArrayList<>();//每个子柱的集合
subcolumnValueList.add(new SubcolumnValue((float) Math.random() * , ChartUtils.pickColor()));//每个子柱集合的数据
axisValues.add(new AxisValue(i).setLabel(xValues[i]));
Column column = new Column(subcolumnValueList);//创建子柱数据
column.setHasLabels(true); //设置列标签
columnList.add(column);//添加柱子数据 }
mColumnChartData = new ColumnChartData(columnList); //设置数据
/*===== 坐标轴相关设置 =====*/
Axis axisX = new Axis(axisValues);//设置横坐标柱子下面的分类
Axis axisY = new Axis().setHasLines(true);
axisX.setName("考试科目"); //设置横轴名称
axisY.setName("成绩"); //设置竖轴名称
mColumnChartData.setAxisXBottom(axisX); //设置横轴
mColumnChartData.setAxisYLeft(axisY); //设置竖轴
ColumnChartView.setZoomEnabled(false);//不可点击
//以上所有设置的数据、坐标配置都已存放到mColumnChartData中,接下来给mColumnChartView设置这些配置
ColumnChartView.setColumnChartData(mColumnChartData);
Viewport v = ColumnChartView.getMaximumViewport();//设置y轴的长度
v.top = ;
ColumnChartView.setCurrentViewport(v);
}

       效果图如下:

      

      简单的柱形图就出来了,具体的参数值已经出来,不做过多介绍

      Demo地址:https://gitee.com/anan9303/Chart.git

最新文章

  1. div+css:div中图片垂直居中
  2. leetcode - 位运算题目汇总(上)
  3. BZOJ1180: [CROATIAN2009]OTOCI
  4. Codeforces Round #368 (Div. 2) B
  5. OpenWebFlow0.9用户手册与设计说明
  6. Android手机音量的控制
  7. hdu 1596 find the safest road
  8. 3-05. 寻求倒数第二链线性表K项目(15)(STL list应用 ZJU_PAT)
  9. 模式识别与机器学习—bagging与boosting
  10. 【GISer&amp;&amp;Painter】GISer
  11. mysql进阶(九)多表查询
  12. 下拉菜单css
  13. SQL SERVER 如何把1列多行数据 合并成一列显示
  14. POJ 2248 - Addition Chains - [迭代加深DFS]
  15. 用户模拟+spec
  16. linux每日命令(27):chmod命令
  17. 数组初始化 memset fill
  18. Python set 集合
  19. xmapp+netbeans调试
  20. pycharm注册

热门文章

  1. VUE -- 自定义控件(标签)
  2. JAVA常见算法题(十八)
  3. python 常用的模块(hashlib)转
  4. wp8手机浏览器项目
  5. Android学习(十) SQLite 基于SQL语句的操作方式
  6. Linux组件封装(一)中互斥锁MutexLock的封装
  7. NSTimer注意内存泄露(真该死)
  8. H5中滚动卡顿的问题
  9. org.springframework.beans.factory.UnsatisfiedDependencyException
  10. IDC机房带宽突然暴涨问题!