近日需要做图表结构的项目,目前最火的就是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. 【spring data jpa】spring data jpa的in查询

    如下: List<Dealer> findDealersByTidAndUidIn(String tid,List<String> uidList); 在dao层里面直接写这个 ...

  2. [置顶] kubernetes资源类型--DaemonSet

    概念 DaemonSet能够让所有(或者特定)的节点运行同一个pod. 当节点加入到K8S集群中,pod会被(DaemonSet)调度到该节点上运行,当节点从K8S集群中被移除,被DaemonSet调 ...

  3. iOS:自定义模态动画 --UIPresentationController

    UIPresentationController :展示控制器,是iOS8的一个新特性,用来展示模态窗口的.它是所有模态控制器的管理者. 即: 1> 管理所有Modal出来的控制器 2>  ...

  4. 今天终于看了一下tanh函数的形式,双曲正切函数

    tanh = sinh / cosh sinh  = Hyperbolic sin cosh = Hyperbolic cos

  5. json格式在线解析

    地址:https://www.bejson.com/ { "PN": "123456", "DomainName": ".gxyc ...

  6. 最长公共字串算法, 文本比较算法, longest common subsequence(LCS) algorithm

    ''' merge two configure files, basic file is aFile insert the added content of bFile compare to aFil ...

  7. CKEditor+SWFUpload实现功能较为强大的编辑器(三)---后台接收图片流程

    在前台配置完CKEditor和SWFUpload之后就可以满足基本的需求了 在这里,我配置的接收异步上传的图片的页面为upload.ashx 在这个ashx中对上传的图片处理的流程如下: contex ...

  8. 2017.7.1 ftp文件服务器安装与配置(已验证可使用)

    下载地址:http://learning.happymmall.com/ 1.点击exe文件 2.启动ftpserver 点击exe后,就出现如下画面:输入账户密码和勾选权限等. 并配置好对应的文件夹 ...

  9. 转: javascript技术栈

    http://www.infoq.com/cn/articles/state-of-javascript-2016

  10. 倍福TwinCAT(贝福Beckhoff)基础教程 松下驱动器试运行提示过速度保护怎么办

    在试运行的时候,取消勾选自动设定,然后可以自己设置过速度等级设置和过载等级设置     更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaoh ...