BarChart--柱状图

首先附上效果图:


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);

代码中的注释记得仔细看哦

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。