近日需要做图表结构的项目,目前最火的就是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

Android hellocharts 柱形图详解的更多相关文章

  1. android:ToolBar详解

    android:ToolBar详解(手把手教程) 泡在网上的日子 发表于 2014-11-18 12:49 第 124857 次阅读 ToolBar 42 来源 http://blog.mosil.b ...

  2. Android之canvas详解

    首先说一下canvas类: Class Overview The Canvas class holds the "draw" calls. To draw something, y ...

  3. 【转】Android Canvas绘图详解(图文)

    转自:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2012/1212/703.html Android Canvas绘图详解(图文) 泡 ...

  4. Android 核心分析 之八Android 启动过程详解

    Android 启动过程详解 Android从Linux系统启动有4个步骤: (1) init进程启动 (2) Native服务启动 (3) System Server,Android服务启动 (4) ...

  5. Android GLSurfaceView用法详解(二)

    输入如何处理       若是开发一个交互型的应用(如游戏),通常需要子类化 GLSurfaceView,由此可以获取输入事件.下面有个例子: java代码: package eoe.ClearTes ...

  6. Android编译过程详解(一)

    Android编译过程详解(一) 注:本文转载自Android编译过程详解(一):http://www.cnblogs.com/mr-raptor/archive/2012/06/07/2540359 ...

  7. android屏幕适配详解

    android屏幕适配详解 官方地址:http://developer.android.com/guide/practices/screens_support.html 一.关于布局适配建议 1.不要 ...

  8. Android.mk文件详解(转)

    源:Android.mk文件详解 从对Makefile一无所知开始,折腾了一个多星期,终于对Android.mk有了一个全面些的了解.了解了标准的Makefile后,发现Android.mk其实是把真 ...

  9. Android Studio 插件开发详解四:填坑

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/78265540 本文出自[赵彦军的博客] 在前面我介绍了插件开发的基本流程 [And ...

随机推荐

  1. linux的dd命令详解

    一.dd命令的解释 dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 块大小可以使用的计量表 参数注释: 1. if=文件名:输入文件名,缺省为标准输入stdin.即指定源文件.< ...

  2. C源程序到可执行文件的四个过程

    C源程序到可执行文件的四个过程 1.预处理:预编译器执行.譬如C中的宏定义就是由预编译器处理,注释等也是由预编译器处理的 gcc -E -hello.c -o hello.i 2.编译:编译器来执行. ...

  3. 转: 初识Agile/CMMI/Scrum

    转:http://www.cnblogs.com/maxwell/p/5093917.html 一.背景介绍 在朋友(aehyok)的建议下,初步去了解Visual Studio Online,简称V ...

  4. [Algorithms] Refactor a Linear Search into a Binary Search with JavaScript

    Binary search is an algorithm that accepts a sorted list and returns a search element from the list. ...

  5. Yii2数据库分页操作方法介绍

    本章节将介绍怎样怎样创建一个从数据表 country 中获取国家数据并显示出来的页面. 为了实现这个目标,你将会配置一个数据库连接.创建一个活动记录类,而且创建一个操作及一个视图. 贯穿整个章节,你将 ...

  6. SRM 515 DIV1 550pt

    题目大意: n个人进入商店买东西,对于每个顾客都有T.C.P这3个数组,表示有Pj的概率第i个顾客在Tj的时间进入商店以Cj的价格买东西,每个顾客Pj的和小于等于1,保证每个时间只最多只有一个顾客可能 ...

  7. redux VS mobx (装饰器配合使用)

    前言:redux和mobx都是状态管理器,避免父级到子级再到子子级嵌套单向数据流,可以逻辑清晰的管理更新共享数据.(刷新页面redux储蓄数据即消失) 配置使用装饰器(使用高阶函数包装你的组件): n ...

  8. rk3288 LED上加入heartbeat功能

    平台:瑞芯的rk3288 作者:fulinux *****本文同意转载.只是请注明出处:http://blog.csdn.net/fulinus**** 1.硬件环境 随意选取一个GPIO引脚作为he ...

  9. MyBatis学习小结

    一款轻量级的ORM框架 全局配置文件 SqlMapConfig.xml <?xml version="1.0" encoding="UTF-8" ?> ...

  10. linux 内存分析

    http://blog.yufeng.info/archives/2456  这篇文章不错 值得看 http://www.361way.com/memory-analysis/5018.html