LineChart--折线图

首先附上效果图:


  

1.添加依赖

//在build.gradle(Module:app)下添加

implementation'com.github.PhilJay:MPAndroidChart:v3.0.3'

//在build.gradle(Project:你的项目名称)下的allprojects中添加

maven {

url"https://jitpack.io"

}

2.新建布局

<com.github.mikephil.charting.charts.LineChart

    android:id="@+id/linechart"

    android:layout_width="match_parent"

    android:layout_height="match_parent"/>


3. 首先我们要明确linechart中的折线是由一个个点构成的,造两条线的数据,这里我用的是list来存储所有点的值,并用map装载。

private HashMap> getData(){

//造数据

    List point =new ArrayList<>();

for (int i=1;i<10;i++){

point.add(new Entry(i, (float) ((Math.random())*20)));

}

HashMap> map =new HashMap<>();

map.put("one",point);

List point1 =new ArrayList<>();

for (int i=1;i<10;i++){

point1.add(new Entry(i, (float) ((Math.random())*20)));

}

map.put("two",point1);

return map;

}

4.装载数据并设置样式。

private void showLineChart(HashMap> map,LineChart lineChart){

//载入map中point的数据,并设置颜色

    LineDataSet lineDataSet=new LineDataSet(map.get("one"),"这是线段一");

lineDataSet.setColor(Color.rgb(199,255,140));

//载入map中point1的数据,并设置颜色

    LineDataSet lineDataSet1=new LineDataSet(map.get("two"),"这是线段二");

lineDataSet1.setColor(Color.rgb(255,240,157));

LineData lineData=new LineData();

lineData.addDataSet(lineDataSet);

lineData.addDataSet(lineDataSet1);

lineChart.setData(lineData);

//设置下方图标

    Description description=new Description();

description.setText("折线图表");

lineChart.setDescription(description);

//这里是设置折线图的摆放位置,可以用它来图的大小

    lineChart.setExtraOffsets(25,80,28,80);

//设置x轴

    XAxis xAxis=lineChart.getXAxis();

//设置x轴摆放位置

    xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);

//设置x轴的最小最大位置的值

    xAxis.setAxisMinimum(0);

xAxis.setAxisMaximum(map.get("one").size()+1);

//设置列数

    xAxis.setLabelCount(map.get("one").size());

//设置行数和最小显示值

    lineChart.getAxisLeft().setLabelCount(map.get("one").size());

lineChart.getAxisLeft().setAxisMinimum(0);

//关闭y轴右坐标,以及横线的显示

    lineChart.getAxisRight().setDrawGridLines(false);

lineChart.getAxisRight().setEnabled(false);

//设置图表不能缩放,刷新数据

    lineChart.setScaleEnabled(false);

lineChart.invalidate();

}

5.主类调用即可

lineChart =this.findViewById(R.id.linechart);

showLineChart(getData(),lineChart);

附上代码:https://github.com/jiutaotan/MPChart.git

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容