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

是一个针对技术开发者的一个应用,你可以在掘金上获取最新最优质的技术干货,不仅仅是Android知识、前端、后端以至于产品和设计都有涉猎,想成为全栈工程师的朋友不要错过!

之前我们介绍了一个非常优秀开源图表库 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. <lecho.lib.hellocharts.view.LineChartView
  2.     android:id="@+id/chart"
  3.     android:layout_width="match_parent"
  4.     android:layout_height="match_parent" />

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

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

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

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

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

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

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

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

代码下载地址

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值