
这个和垂直柱状图一模一样,只不过把控件名换了一下从barchart换成了HorizontalBarChart
XML文件
<LinearLayout android:layout_width="match_parent" android:layout_height="50dp"> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:text="水平柱状图" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="150dp" android:orientation="vertical"> <com.github.mikephil.charting.charts.HorizontalBarChart android:id="@+id/horizontalBarChart" android:layout_width="match_parent" android:layout_height="150dp" /> </LinearLayout>
MainActivity
//初始化水平柱状图
HorizontalBarChart horizontalBarChart = findViewById(R.id.horizontalBarChart);
initBarChart(horizontalBarChart);
horizontalBarChart.setData(setBarData());
barChart.invalidate();
public BarChart initBarChart(BarChart barChart) {
barChart.setDrawBarShadow(false); // 设置每条柱子的阴影不显示
barChart.setDrawValueAboveBar(true); // 设置每条柱子的数值显示
barChart.setPinchZoom(false);
XAxis xAxis = barChart.getXAxis(); // 获取柱状图的x轴
YAxis yAxisLeft = barChart.getAxisLeft(); // 获取柱状图左侧的y轴
YAxis yAxisRight = barChart.getAxisRight(); // 获取柱状图右侧的y轴
setAxis(xAxis, yAxisLeft, yAxisRight); //调用方法设置柱状图的轴线
return barChart;
}
public BarData setBarData() {
List<BarEntry> entries = new ArrayList<>(); //定义一个数据容器
//生成随机数数据
for (int i = 0; i <= 12; i++) {
entries.add(new BarEntry(i, new Random().nextInt(300)));
}
BarDataSet barDataSet = new BarDataSet(entries, "测试数据");
BarData barData = new BarData(barDataSet);
return barData; //返回可用于柱状图的数据
}文章参考:https://blog.csdn.net/weixin_43344890/article/details/103008320
评论 (0)