Android hellocharts 柱形图详解
近日需要做图表结构的项目,目前最火的就是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 柱形图详解的更多相关文章
- android:ToolBar详解
android:ToolBar详解(手把手教程) 泡在网上的日子 发表于 2014-11-18 12:49 第 124857 次阅读 ToolBar 42 来源 http://blog.mosil.b ...
- Android之canvas详解
首先说一下canvas类: Class Overview The Canvas class holds the "draw" calls. To draw something, y ...
- 【转】Android Canvas绘图详解(图文)
转自:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2012/1212/703.html Android Canvas绘图详解(图文) 泡 ...
- Android 核心分析 之八Android 启动过程详解
Android 启动过程详解 Android从Linux系统启动有4个步骤: (1) init进程启动 (2) Native服务启动 (3) System Server,Android服务启动 (4) ...
- Android GLSurfaceView用法详解(二)
输入如何处理 若是开发一个交互型的应用(如游戏),通常需要子类化 GLSurfaceView,由此可以获取输入事件.下面有个例子: java代码: package eoe.ClearTes ...
- Android编译过程详解(一)
Android编译过程详解(一) 注:本文转载自Android编译过程详解(一):http://www.cnblogs.com/mr-raptor/archive/2012/06/07/2540359 ...
- android屏幕适配详解
android屏幕适配详解 官方地址:http://developer.android.com/guide/practices/screens_support.html 一.关于布局适配建议 1.不要 ...
- Android.mk文件详解(转)
源:Android.mk文件详解 从对Makefile一无所知开始,折腾了一个多星期,终于对Android.mk有了一个全面些的了解.了解了标准的Makefile后,发现Android.mk其实是把真 ...
- Android Studio 插件开发详解四:填坑
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/78265540 本文出自[赵彦军的博客] 在前面我介绍了插件开发的基本流程 [And ...
随机推荐
- Ubuntu 16.04 -- 同时配置Nginx(转发)和frp(内网映射)和HTTPS(ca加密) - 端口转发
Ubuntu16.04下: sudo apt -get nginx 用这条命令安装完nginx之后, nginx在该目录下: 然后配置nginx: 如下: 红圈圈住的地方多写几个可以做负载均衡. 端口 ...
- Http标准协议Android网络框架——NoHttp
NoHttp详细文档:http://doc.nohttp.net NoHttp公益测试接口:http://api.nohttp.net 支持与RxJava完美结合.支持一句话切换底层为OkHttp,支 ...
- js封装的一行半显示省略号。(字数自由控制)
$(function() { //控制一行半隐藏 (function ($) { $.fn.displayPart = function (opts) { $(this).each(function ...
- Linux下系统信息工具之Saidar
Saidar,是一款命令行下的小工具,可用来查看CPU.进程.负载.内存.交换分区.网络.磁盘.文件系统等系统信息. #ubuntu sudo apt-get install saidar -y #f ...
- wp8手机浏览器项目
项目需求如下: 1.页面布局 最上方为搜索/网址框 中间为网页显示区,默认主页为百度搜索 最下方为功能栏,分别有后退,前进,窗口和更多功能 在更多功能中有 分享给好友 发送网址到桌面 查看历史记录等 ...
- div 事件透传
有些时候,我们会想要把一个 div 层覆盖在另一个 div 层上,要让下层的 div 响应鼠标事件而上层的不响应仅仅只做内容展示. 这种时候,我们就可以用到一个 CSS 属性:pointer-even ...
- OSQL.EXE 命令行下脱裤mssql
cd C:\Program Files\Microsoft SQL Server\100\Tools\Binn\ OSQL.EXE -S "localhost" -U " ...
- mac查看端口占用
Mac OS/Linux命令查询网络端口占用情况 netstat命令 netstat -an | grep 3306 3306替换成需要grep的端口号 lsof命令 通过list open fi ...
- 未能从程序集“Oracle.ManagedDataAccess”加载 “OracleInternal.Common.ConfigBaseClass”
使用VS2015做项目的过程中一直使用的服务器上的oracle数据库,后来想学习一下oracle,就在本机安装了oracle.可没想到本来运行好好的项目,现在不能运行了.项目是使用的Abp框架,当运行 ...
- Centos7 搭建最新 Nexus3 Maven 私服
Maven 介绍 Apache Maven 是一个创新的软件项目管理和综合工具.Maven 提供了一个基于项目对象模型(POM)文件的新概念来管理项目的构建,可以从一个中心资料片管理项目构建,报告和文 ...