这个和垂直柱状图一模一样,只不过把控件名换了一下从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)