HelloCharts是一个安卓的图表库,目前支持的图表类型和特性有:
- 折线图
- 柱状图
- 饼图
- 泡泡图
- 组合图
- 预览图表
- 放大、滚动、平移
- 自定义和自动设置
- 动画
这是官方给出的Sample
下载和导入
Android Studio/Gradle
dependencies{
compile 'com.github.lecho:hellocharts-library:1.5.8@aar'
}
使用
在layout xml文件里添加
<lecho.lib.hellocharts.view.LineChartView
android:id="@+id/chart"
android:layout_width="match_parent"
android:layout_height="match_parent" />
添加数据
List<PointValue> values = new ArrayList<>();
values.add(new PointValue(0, 2));
values.add(new PointValue(1, 4));
values.add(new PointValue(2, 3));
values.add(new PointValue(3, 4));
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);
另外,还可以设置x轴和y轴
Axis axisX = new Axis();
Axis axisY = new Axis().setHasLines(true);
axisX.setName("分数");
axisY.setName("人数");
LineChartData data = new LineChartData();
data.setAxisXBottom(axisX);
data.setAxisYLeft(axisY);
还可以给坐标轴设置显示的数值
int[] scoreRange = {0, 60, 70, 80, 90, 100};
List<AxisValue> axisValues = new ArrayList<>();
for (int i = 0; i < scoreRange.length - 1; i++) {
String text = scoreRange[i] + "~" + scoreRange[i + 1];
axisValues.add(new AxisValue(i, text.toCharArray()));
}
axisX.setValues(axisValues);
另外,还可以设置每个数据点的形状,是曲线还是直线,是否填充,是否添加label等。
折线图图示
image.png总结
从上面例子可以看出,HelloCharts非常的简单,而且功能也比较丰富,适合迅速上手使用。
网友评论