最近项目中需要集成折线图、饼状图、柱状图等各类图表,于是就去网上搜寻了一下三方的框架,看到大家用的比较多的就是MPAndroidChart(github上星赞第一)、HelloChart(github上星赞第二),还有就是百度官方推出的Echarts,但是Echarts在Android中植入有些特殊,需要用到WebView结合html进行展示,我们留着下篇文章里介绍,今天我们来谈谈HelloCharts,为什么当时在选择的时候没有选择星赞排行第一的MPAndroidChart呢?原因很简单,就是在对比二者图表的样式时,我觉得HelloCharts更加好看,不过后来因为项目的需求越来越多,HelloCharts已不能满足诸如码表、横向柱状图、复杂标签饼状图的需求,所以又不得不在项目中引入了Echarts,但HelloCharts作为简单图标的展示还是值得推荐的,因为使用简单、加载迅速、看着舒服。。。
先贴出github上的地址吧:点击打开链接,两种引入方式,compile和jar包,根据个人喜好引入就行
今天我们就说一下常用的三种图表的使用方法:折线图、饼状图和柱状图
折线图:LineChartView,使用很简单,直接在对应的xml文件中引入就行:
<lecho.lib.hellocharts.view.LineChartView
android:id="@+id/line_chart"
android:layout_width="match_parent"
android:padding="20dp"
android:layout_height="200dp"/>
接着我们给出一段json数据来模拟网络请求回来的数据,绘制出我们的折线图:
{
"orderList": [
{
"time": 0,
"orders": 700
},
{
"time": 5,
"orders": 900
},
{
"time": 10,
"orders": 200
},
{
"time": 15,
"orders": 400
}
]
}
这里我们想要绘制出一个以时间为x轴,订单数为y轴的折线图,用来观察某一时间段内订单数量的变化。。。拿到json数据后我们就要开始解析,这里我们用到Gson来解析:
private void getChartData() {
Gson gson = new Gson();
Type type = new TypeToke