hellocharts-android-Android图表开源库的使用(一)

最近项目中需要用到图表,技术有限,自己实现起来有难度,于是对比之后,最终决定使用hellocharts这个开源库,传送门:https://github.com/lecho/hellocharts-android ,一是因为引入方便,二是代码也比较清晰,便于加到项目中。还有一个重要的原因,这个库可以支持折线表,柱状表,饼状表以及气泡状表,而且实现的效果非常棒,放几张图大家感受一下:

1.gif

2.png

3.png

4.png

5.png

怎么样,效果是不是非常炫啊,下面我们来看看怎么使用吧。 PS:本文操作基于Android Studio

导入hellocharts

有三种方式可以在我们的项目中使用hellocharts。

  1. 感谢Android Studio,让我们可以非常方便的使用一些开源的库,如果你的开发工具是它的话,那么引入项目非常简单,只需要在你的app下的build文件的dependencies闭包中添加如下代码,然后同步即可:
dependencies{
 compile 'com.github.lecho:hellocharts-library:1.5.8@aar' 
}
  1. 当然,我们也可以下载最新的jar包来导入使用,点击https://github.com/lecho/hellocharts-android/releases ,会看到作者发布的最新jar包。下载jar包之后,放到app目录下的libs文件夹下,然后同步项目即可。
  2. 前两种方法虽然比较方便,但是不能修改库的源码,有时候我们需要在开源库的基础上做一些修改,这个时候我们就可以以添加module的方式来导入。导入过程也非常简单。 首先,我们可以在项目主页将代码下载到本地。有两种方式:

下载项目.png

如果本地配置了git的话,我们直接运行git clone git@github.com:lecho/hellocharts-android.git 即可将项目克隆到本地,否则的话,就点击Download ZIP也可以。 将项目下载本地后,在你自己的项目中,依次选择File-New-Import Module,然后选择hellocharts-library确定即可完成导入。

源码目录.png

基本折线表的使用

经过以上几步,我们的项目现在已经成功即成了hellocharts,下面我们来简单看下最基本的图表-折线表是如何使用的吧。 首先,在xml文件中添加折线表控件:

<lecho.lib.hellocharts.view.LineChartView    
android:id="@+id/chart"    
android:layout_width="match_parent"
android:layout_height="match_parent" />

在hellocharts中,每种图表都有它自己的一个数据类型,在折线表中,最终设置给图表显示的是LineChartData,我们可以简单想下,这个数据中肯定包含线,线上的点,以及坐标轴,下面我们分别用代码来展现。

  1. 声明一条折线
Line line = new Line(values).setColor(Color.BLUE);//声明线并设置颜色
line.setCubic(false);//设置是平滑的还是直的
lines = new ArrayList<Line>();
lines.add(line);
  1. 初始化折线上的点
values = new ArrayList<PointValue>();//折线上的点
values.add(new PointValue(0, 2));
values.add(new PointValue(1, 4));
values.add(new PointValue(2, 3));
values.add(new PointValue(3, 4));
  1. 设置折线表相关属性和数据
mChartView.setInteractive(true);//设置图表是可以交互的(拖拽,缩放等效果的前提)
mChartView.setZoomType(ZoomType.HORIZONTAL_AND_VERTICAL);//设置缩放方向
LineChartData data = new LineChartData();
Axis axisX = new Axis();//x轴
Axis axisY = new Axis();//y轴
data.setAxisXBottom(axisX);
data.setAxisYLeft(axisY);
data.setLines(lines);
mChartView.setLineChartData(data);//给图表设置数据

经过这几步简单的设置(最后会放上demo地址),我们已经可以看到基本的折线图效果了:

demo效果.png

到这里,我们已经成功的使用hellocharts这个强大的图表库来展示了一个基本的折线图表,里边儿还有很多炫酷的用法等待我们去发掘。最后放上demo地址:https://github.com/SolveBugs/HelloChartDemo

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏DeveWork

WordPress RSS Feed 优化/设置技巧六则

本站DeveWork.com 在之前已经分享过不少有关 RSS Feed 优化、设置技巧,今天在这里分享多篇来自网络上的文章,攫取相关重要内容,加上之前的汇总为...

1849
来自专栏阮一峰的网络日志

如何读懂火焰图?

软件的性能分析,往往需要查看 CPU 耗时,了解瓶颈在哪里。 火焰图(flame graph)是性能分析的利器。本文介绍它的基本用法。 ? 一、perf 命令 ...

3546
来自专栏Python中文社区

pyecharts(一):Python可视化利器

專 欄 ❈陈键冬,Python中文社区专栏作者 GitHub: https://github.com/chenjiandongx ❈ pyecharts 是一...

4745
来自专栏WOLFRAM

给大家分享几个操作上的技巧~~~

1532
来自专栏Android开发指南

Android如何缩减APK包大小

2915
来自专栏张尧博客

6个好玩儿的LINUX命令

3635
来自专栏张戈的专栏

让知更鸟主题的分类图标支持二级分类

今天,突然想启用知更鸟主题的分类图标功能,之前是怕影响速度,现在开了静态缓存,安心了一点。 参照鸟哥的方法在主题选项里面开启后,发现图片的超链接打不开!检查后发...

37112
来自专栏iOS122-移动混合开发研究院

实现iOS图片等资源文件的热更新化(一): 从Images.xcassets导出合适的图片

本文会基于一个已有的脚本工具自动导出所有的图片;最终给出的是一个从 Images.xcassets 到基于文件夹的精简 合适 的图片资源集的完整过程.难点在于从...

2999
来自专栏Jerry的SAP技术分享

如何查看CRM WebUI,C4C和Hybris里的页面技术信息

在WebClient UI页面上按F2,就能看到页面的技术信息, 可以找到当前页面是哪一个BSP component实现的:

3404
来自专栏有趣的Python

我看过的最全的 LaTeX 零基础入门安装教程( LaTeX + sublime Text + Sumatra PDF反向搜索 + bib格式文件:参考文献引用(及国标化配置))

LaTeX + sublime Text + Sumatra PDF反向搜索 + bib格式文件文献引用(及国标化配置) 找了一大堆教程没有一个把细节都一篇文...

96410

扫码关注云+社区