android 分组柱状图_MPAndrodChart 绘制分组柱状图实例

本文展示了如何使用MPAndroidChart库在Android上创建分组柱状图。通过创建多个BarEntry列表,设置颜色并配置轴的值和格式,最终形成一个展示不同道路情况的柱状图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

barEntryList6 = new ArrayList<>();

barEntryList6.add(new BarEntry(1, 2));

barEntryList6.add(new BarEntry(2, 1));

barEntryList6.add(new BarEntry(3, 1));

barEntryList6.add(new BarEntry(4, 2));

barEntryList6.add(new BarEntry(5, 4));

barEntryList6.add(new BarEntry(6, 3));

barEntryList6.add(new BarEntry(7, 3));

ListbarEntryList7 = new ArrayList<>();

barEntryList7.add(new BarEntry(1, 4));

barEntryList7.add(new BarEntry(2, 1));

barEntryList7.add(new BarEntry(3, 2));

barEntryList7.add(new BarEntry(4, 2));

barEntryList7.add(new BarEntry(5, 3));

barEntryList7.add(new BarEntry(6, 2));

barEntryList7.add(new BarEntry(7, 1));

BarDataSet barDataSet = new BarDataSet(barEntryList, "学院路");

BarDataSet barDataSet2 = new BarDataSet(barEntryList2, "联想路");

BarDataSet barDataSet3 = new BarDataSet(barEntryList3, "医院路");

BarDataSet barDataSet4 = new BarDataSet(barEntryList4, "幸福路");

BarDataSet barDataSet5 = new BarDataSet(barEntryList5, "环城快速路");

BarDataSet barDataSet6 = new BarDataSet(barEntryList6, "环城高速");

BarDataSet barDataSet7 = new BarDataSet(barEntryList7, "停车场");

barDataSet.setColor(Color.parseColor("#bf382d"));

barDataSet2.setColor(Color.parseColor("#2f4455"));

barDataSet3.setColor(Color.parseColor("#60a0a7"));

barDataSet4.setColor(Color.parseColor("#d48164"));

barDataSet5.setColor(Color.parseColor("#91c6af"));

barDataSet6.setColor(Color.parseColor("#769e83"));

barDataSet7.setColor(Color.parseColor("#c98624"));

BarData barData = new BarData(barDataSet, barDataSet2, barDataSet3, barDataSet4,

barDataSet5, barDataSet6, barDataSet7);

barData.setDrawValues(false);

barChart.getXAxis().setValueFormatter(new IAxisValueFormatter() {

@Override

public String getFormattedValue(float value, AxisBase axis) {

switch ((int) value) {

case 0:

return "周一";

case 10:

return "周二";

case 20:

return "周三";

case 30:

return "周四";

case 40:

return "周五";

case 50:

return "周六";

case 60:

default:

return "周日";

}

}

});

barChart.getAxisLeft().setYOffset(25f);//这样会向下偏移 50%

barChart.getAxisLeft().setAxisMinimum(0f);

barChart.getAxisLeft().setAxisMaximum(5f);

barChart.getAxisLeft().setLabelCount(6, true);//设置间距

barChart.getAxisLeft().setValueFormatter(new IAxisValueFormatter() {

@Override

public String getFormattedValue(float value, AxisBase axis) {

switch ((int) value) {

case 1:

return "畅通";

case 2:

return "缓行";

case 3:

return "一般拥堵";

case 4:

return "中度拥堵";

case 5:

return "严重拥堵";

default:

return "";

}

}

});

barChart.getAxisRight().setAxisMinimum(0f);

barChart.getAxisRight().setAxisMaximum(5f);

barChart.getAxisRight().setLabelCount(6, true);//设置间距

barChart.getXAxis().setTextSize(12f);

barChart.getXAxis().setYOffset(-0);

barChart.getXAxis().setAxisMinimum(1);

barChart.getXAxis().setAxisMaximum(70);

barChart.getXAxis().setPosition(XAxis.XAxisPosition.BOTTOM);

barChart.getXAxis().setCenterAxisLabels(true);

barChart.getXAxis().setDrawAxisLine(false);//横线

barChart.getXAxis().setDrawGridLines(false);//垂线

barChart.setData(barData);//先设置数据

float groupSpace = 2f;//0.3 * DaraSet

float barSpace = 0.28f; //0.04 * DataSet

//0.1 * DataSet

//然后再设置分组柱状图

barChart.groupBars(.7f, groupSpace, barSpace);

barChart.invalidate();

}

```

# 运行截图

![Snipaste_2020-10-29_20-30-36.jpg][1]

[1]: https://cdn.nowtime.cc/2020/10/29/1302616410.jpg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值