美文网首页自定义Android开发Android技术知识
hellocharts-android-Android图表开源库

hellocharts-android-Android图表开源库

作者: 山水相逢z | 来源:发表于2016-12-27 17:20 被阅读9332次

    最近项目中需要用到图表,技术有限,自己实现起来有难度,于是对比之后,最终决定使用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

    相关文章

      网友评论

      • 瑟闻风倾:请问组合图表图例怎么显示啊
      • 8ffe59ed6046:你好,我按照你的方法将项目下载本地后,在自己的项目中,依次选择File-New-Import Module,然后选择hellocharts-library。 最后为什么出现这种情况:Error:(25, 0) Could not get unknown property 'ANDROID_BUILD_SDK_VERSION' for project ':hellocharts-library' of type org.gradle.api.Project.
        <a href="openFile:D:\Android\MyApplication\hellocharts-library\build.gradle">Open File</a>
        8ffe59ed6046:@山水相逢z 好的,谢谢
        山水相逢z:@浮华只是一瞬间 ANDROID_BUILD_SDK_VERSION 这个是我自己在根目录build文件定义的常量,你直接换成你的sdk版本号就行
      • 我靠叫我大当家的:如果横坐标很多,怎么让它可以不止一个屏幕,可以横向滑动查看
      • aee30df11e01:怎么用LineChartView显示多条曲线呀
        山水相逢z:看 基本折线表的使用-声明一条折线 这节,你可以声明多个line对象
      • 灯下黑01:你好,折线图上面的数值能显示小数数值吗
        山水相逢z:可以的

      本文标题:hellocharts-android-Android图表开源库

      本文链接:https://www.haomeiwen.com/subject/ficevttx.html