图表库为Android兼容API8+(Android 2.2版本以上)。最好在启用硬件加速的环境下工作,建议API14+(Android 4.0版本以上)。
特征
- 线图(三次线、填充线、散点图)
- 柱图(分组、叠加、负值)
- 饼图
- 气泡图
- 组合图表(列/行)
- 预览图表(用于列图和折线图)
- 缩放(手势缩放,双击缩放),滚动和滑动
- 自定义和自动生成轴(顶部、底部、左、右、内部)
- 动画
Demo截图
下载和导入
Android Studio/Gradle
- Maven Central/jCenter,添加依赖到
build.gradle
:
|
dependencies{
compile 'com.github.lecho:hellocharts-library:1.5.8@aar'
}
|
- JitPack.io,添加
jitPack.io
库和依赖到build.gradle
:
|
repositories {
maven {
url "https://jitpack.io"
}
}
dependencies {
compile 'com.github.lecho:hellocharts-android:v1.5.8'
}
|
Eclipse/ADT
- 下载最新版本的jar;
- 复制
hellocharts-library-<version>.jar
到项目的libs
文件夹。
使用
在布局XML文件中可以定义一个图表视图:
|
<lecho.lib.hellocharts.view.LineChartView
android:id="@+id/chart"
android:layout_width="match_parent"
android:layout_height="match_parent" />
|
或者在代码中创建然后添加到布局中:
|
LineChartView chart = new LineChartView(context);
layout.addView(chart);
|
使用图表的一些方法来定义图表,例如:
|
ChartData.setAxisXBottom(Axis axisX);
ColumnChartData.setStacked(boolean isStacked);
Line.setStrokeWidth(int strokeWidthDp);
|
每一个图表都有自己的方法来设置图表数据和自己的数据模型,例如折线图:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
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);
|
图表数据已设置后,您仍然可以修改其属性,但之后,你应该再次调用set*ChartData()
方法图重新计算并重新绘制数据。也有一个选项可以使用复制构造函数来进行图表数据的深度拷贝。你可以在其他线程修改复制后使用set*ChartData()
方法。
http://hao.jobbole.com/hellocharts/