首先附上效果图:
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.BarChart
android:id="@+id/barchart"
android:layout_width="394dp"
android:layout_height="394dp"
android:layout_gravity="center" />
3.造数据(有详细注释)
private Map> getData(){
//造了两条数据
List list=new ArrayList<>();
for (int i=1;i<=9;i=i+2){
list.add(new BarEntry(i, (float) Math.round((Math.random())*10)+1));
}
List list1=new ArrayList<>();
for (int i=2;i<=10;i=i+2){
list1.add(new BarEntry(i, (float) Math.round((Math.random())*10)+1));
}
HashMap> map=new HashMap<>();
map.put("man",list);
map.put("girl",list1);
return map;
}
4.数据装载(有详细注释)
private void showBarChart(Map> map,BarChart barChart){
//装载男女生数据
BarDataSet barDataSet=new BarDataSet(map.get("man"),"男生");
barDataSet.setColor(Color.rgb(199,255,140));
BarDataSet barDataSet1=new BarDataSet(map.get("girl"),"女生");
barDataSet1.setColor(Color.rgb(255,240,157));
//载入数据集
BarData barData=new BarData();
barData.addDataSet(barDataSet);
barData.addDataSet(barDataSet1);
barChart.setData(barData);
//可以用它来设置图的大小显示
barChart.setExtraOffsets(15,80,20,45);
//右下角标识描述,需要可以打开
Description description=new Description();
description.setText("柱状图");
description.setEnabled(false);
barChart.setDescription(description);
//将x轴设置在下方
XAxis xAxis=barChart.getXAxis();
xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);
xAxis.setAxisMinimum(0);
xAxis.setLabelCount(10);
//设置y轴右边不显示
YAxis yAxis=barChart.getAxisRight();
yAxis.setEnabled(false);
YAxis yy=barChart.getAxisLeft();
yy.setAxisMinimum(0);
yy.setAxisMaximum(10);
yy.setLabelCount(100);
barChart.setScaleEnabled(false);//设置不能缩放
}
5.初始化组件,调用方法即可
barChart=this.findViewById(R.id.barchart);
showBarChart(getData(),barChart);
代码中的注释记得仔细看哦