引用库,gradle build中写入 implementation 'com.github.PhilJay:MPAndroidChart:v3.0.3'
打点为(0,0)一个点的图 public void intialize(){ XAxis xAxis=lineChart.getXAxis(); // // 两个都设置为 true xAxis.setEnabled(true); xAxis.setDrawGridLines(true); xAxis.setPosition(XAxis.XAxisPosition.BOTTOM); xAxis.setAxisMinimum(0); // 设置X轴最小值 xAxis.setAxisMaximum(30); // 设置X轴最大值 YAxis yAxisLeft = lineChart.getAxisLeft(); yAxisLeft.setAxisMaximum(220); // 设置Y轴最大值 yAxisLeft.setAxisMinimum(0); // 设置Y轴最小值 lineChart.getAxisRight().setEnabled(false); // 右侧Y轴不启用 List<Entry> init = new ArrayList<Entry>(); Entry c1e1 = new Entry(0,0); init.add(c1e1); LineDataSet setComp1 = new LineDataSet(init, "测量值"); setComp1.setAxisDependency(YAxis.AxisDependency.LEFT); lineChart.setTouchEnabled(false); Description description=new Description(); description.setText(""); lineChart.setDescription(description); LineData data = new LineData(setComp1); lineChart.setData(data); lineChart.invalidate(); }
下面为过3组不同点的直线连线
public void newChart(){
XAxis xAxis=lineChart.getXAxis();
// // 两个都设置为 true
xAxis.setEnabled(true);
xAxis.setDrawGridLines(true);
xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);
xAxis.setAxisMinimum(0); // 设置X轴最小值
xAxis.setAxisMaximum(30); // 设置X轴最大值
YAxis yAxisLeft = lineChart.getAxisLeft();
yAxisLeft.setAxisMaximum(220); // 设置Y轴最大值
yAxisLeft.setAxisMinimum(0); // 设置Y轴最小值
lineChart.getAxisRight().setEnabled(false); // 右侧Y轴不启用
List<Entry> valsComp1 = new ArrayList<Entry>();
List<Entry> valsComp2 = new ArrayList<Entry>();
List<Entry> valsComp3 = new ArrayList<Entry>();
if (i==4){
Entry c1e1 = new Entry(x.get(0), y.get(0));
valsComp1.add(c1e1);
c1e1 = new Entry(x.get(1), y.get(1));
valsComp2.add(c1e1);
valsComp1.add(c1e1);
c1e1 = new Entry(x.get(2), y.get(2));
valsComp2.add(c1e1);
c1e1 = new Entry(x.get(3), y.get(3));
valsComp3.add(c1e1);
c1e1 = new Entry(x.get(4), y.get(4));
valsComp3.add(c1e1);
LineDataSet setComp1 = new LineDataSet(valsComp1, "测量值");
setComp1.setAxisDependency(YAxis.AxisDependency.LEFT);
LineDataSet setComp2 = new LineDataSet(valsComp2, "运动能力");
setComp2.setAxisDependency(YAxis.AxisDependency.LEFT);
setComp2.setColor(Color.RED);
setComp2.setDrawVerticalHighlightIndicator(true);
LineDataSet setComp3 = new LineDataSet(valsComp3, "次运动能力");
setComp3.setAxisDependency(YAxis.AxisDependency.LEFT);
setComp3.setColor(Color.YELLOW);
LineData data = new LineData(setComp1);
data.addDataSet(setComp2);
data.addDataSet(setComp3);
Description description=new Description();
description.setText("");
lineChart.setDescription(description);
lineChart.setTouchEnabled(false);
lineChart.setData(data);
lineChart.invalidate();
}else {
for (int q=0;q<1;q++){
Entry c1e1 = new Entry(x.get(q), y.get(q));
valsComp1.add(c1e1);
}
LineDataSet setComp1 = new LineDataSet(valsComp1, "测量值");
setComp1.setAxisDependency(YAxis.AxisDependency.LEFT);
lineChart.setTouchEnabled(false);
LineData data = new LineData(setComp1);
Description description=new Description();
description.setText("");
lineChart.setDescription(description);
lineChart.setData(data);
lineChart.invalidate();
}
}