• hellocharts-android开源图表库(效果非常好)


     

    泡在网上的日子 发表于 2014-11-07 12:28 第 33156 次阅读 chart

    编辑推荐:稀土掘金,这是一个高质量的技术干货分享社区,web前端、Android、iOS、设计资源和产品,满足你的学习欲望。

    之前我们介绍了一个非常优秀开源图表库 MPAndroidChart  ,但是我们今天介绍的将是一个更为优秀的图表库,比MPAndroidChart性能更好,功能更完善,UI风格更美观,坐标轴更精细。

    他就是github上出现的新项目HelloCharts

    HelloCharts支持以下chart类型

    • Line chart(cubic lines, filled lines, scattered points)

    • Column chart(grouped, stacked, negative values)

    • Pie chart

    • Bubble chart

    • Combo chart(columns/lines)

    • Preview charts(for column chart and line chart)

    此外还具有以下特点

    • 支持缩放、滑动以及平移。Zoom(pinch to zoom, double tap zoom), scroll and fling

    • 支持自定义坐标轴(比如坐标轴位置:上下左右内部),支持自动生成坐标轴。Custom and auto-generated axes(top, bottom, left, right, inside)

    • 动画(Animations)

    • 支持预览,即在chart下面会有一个坐标密度更细的附属chart,当选中附属chart的某一区域,附属chart上面的chart会显示选中区域的更详细情况。

    下面是一些效果截图

    我能用妙趣横生来形容吗、、

    编译以及使用方法

    每一种chart都可以在xml中定义:

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

    当然也可以在java代码中直接创建:

    1
    2
    LineChartView chart = new LineChartView(context);
    layout.addView(chart);

    可以通过一些公共方法设置其行为属性,下面是一些例子:

    1
    2
    3
    Chart.setInteractive(boolean isInteractive);
    Chart.setZoomType(ZoomType zoomType);
    Chart.setContainerScrollEnabled(boolean isEnabled, ContainerScrollType type);

    或者是用数据模型定义一些显示的方式:

    1
    2
    3
    ChartData.setAxisXBottom(Axis axisX);
    ColumnChartData.setStacked(boolean isStacked);
    Line.setStrokeWidth(int strokeWidthDp);

    每一种chart都有自己的数据模型以及设置数据的方法,下面以LineChart为例:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    List<PointValue> 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));
    //In most cased you can call data model methods in builder-pattern-like manner.
    Line line = new Line(values).setColor(Color.Blue).setCubic(true);
    List<Line> lines = new ArrayList<Line>();
    lines.add(line);
    LineChartData data = new LineChartData();
    data.setLines(lines);
    LineChartView chart = new LineChartView(context);
    chart.setLineChartData(data);

    代码下载地址

    http://jcodecraeer.com/a/opensource/2014/1107/1931.html

  • 相关阅读:
    事务
    MySQL删除表的方式
    建立索引的原则
    对表设置引擎
    运算符
    数据库锁简介
    为什么对表设置主键
    php苹果原生apns推送接口
    华为推送
    php操作redis
  • 原文地址:https://www.cnblogs.com/pengmn/p/5237334.html
Copyright © 2020-2023  润新知