Android Studio平台下使用hellochart实现从文本读取数据绘折线图
本人是一个刚刚接触Android不超过两个月的小白,最近在做的论文是关于这一块的相关内容。所有的东西都是自学的,听导师的建议也是第一次留个这样的资料,可能有很多地方理解不到位,也欢迎大家给我更多的建议,让我学习进步。
首先先导入了一个第三方包:hellocharts-library-1.5.8.jar,目的是用来绘图。然后在res文件夹下新建raw文件夹,在raw文件夹内放入文本数据,我自己这里是a.txt
a.txt内是从串口接收到的数据再保存下来的,这一块因为是从学长那里接手的,目前还没太搞懂,留待以后解决。现在还是回来读取数据在绘折线图这一块。
/**
* 初始化表格设置
*/
private void initLineChart() {
Line line =new Line(mPointValues).setColor(Color.BLUE);//将数据点填充到线上,并设置线的颜色为蓝色
List<Line> lines = new ArrayList<Line>(); //创建了一个ArrayList对象;<>用于向参数化类
// 型传递参数;传递进入一个Line类型的变量作为参数,详细可见泛型
// List是Collection接口的子接口 List有一个重要的实现类--ArrayList类,List中的元素是有序排列的而且可重复,所以被称为是序列。
line.setShape(ValueShape.CIRCLE); //折线上每个数据点的形状,设置为圆形
line.setCubic(false); //曲线是否圆滑
line.setFilled(false); //是否填充曲线的面积
line.setHasLabels(true);//曲线的数据坐标是否加上备注
line.setHasLabelsOnlyForSelected(true);//点击数据坐标提示数据(设置了这个line.setHasLabels(true);就无效)
line.setHasLines(true);//是否用线显示。如果为false 则没有曲线只有点显示
line.setHasPoints(true);//是否显示圆点 如果为false 则没有原点只有点显示(每个数据点都是个大的圆点)
lines.add(line);//个人理解,将以上设置的 应用对象“line”的字段传给"lines"
LineChartData data = new LineChartData();
data.setLines(lines);//以上三行代码,均为导入折线的初始设置
//坐标轴
Axis axisX = new Axis();//创建X轴的引用变量
Axis axisY = new Axis();//Y轴
axisX.setName("道址数");
axisY.setName("计数");
data.setAxisXBottom(axisX);//X轴设置在底部
data.setAxisYLeft(axisY);//Y轴设置在左侧
//数据添加
data.setBaseValue(Float.NEGATIVE_INFINITY);
lineChart.setLineChartData(data);
//设置平行缩放等行为属性
lineChart.setInteractive(true);
lineChart.