📅  最后修改于: 2023-12-03 14:52:39.323000             🧑  作者: Mango
条形图是一种常见的数据可视化方式,在Android中也可以通过使用开源图表库实现。本文将介绍如何使用MPAndroidChart库在Android中创建条形图。
首先,需要在项目中添加MPAndroidChart库的依赖。可以在项目的build.gradle文件的dependencies节点中添加如下代码:
implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0'
在布局文件中添加一个BarChart视图:
<com.github.mikephil.charting.charts.BarChart
android:id="@+id/bar_chart"
android:layout_width="match_parent"
android:layout_height="match_parent" />
创建一个BarEntry对象的ArrayList来存储我们的数据,并将其传递给BarDataSet:
ArrayList<BarEntry> entries = new ArrayList<>();
entries.add(new BarEntry(0f, 30f));
entries.add(new BarEntry(1f, 40f));
entries.add(new BarEntry(2f, 20f));
entries.add(new BarEntry(3f, 50f));
entries.add(new BarEntry(4f, 10f));
BarDataSet dataSet = new BarDataSet(entries, "Label");
使用BarDataSet作为参数创建一个BarData对象:
BarData data = new BarData(dataSet);
获取BarChart对象并进行相关配置:
BarChart chart = findViewById(R.id.bar_chart);
chart.setData(data);
chart.setFitBars(true);
chart.getDescription().setEnabled(false);
chart.getXAxis().setEnabled(false);
chart.getAxisLeft().setDrawGridLines(false);
chart.getAxisRight().setDrawGridLines(false);
chart.getAxisLeft().setDrawLabels(false);
chart.getAxisRight().setDrawLabels(false);
chart.getLegend().setEnabled(false);
chart.animateY(1000);
chart.invalidate();
在这个示例中,我们对条形图进行如下配置:
FitBars
属性为 true
,使条形图填充整个图表;最终的代码如下:
ArrayList<BarEntry> entries = new ArrayList<>();
entries.add(new BarEntry(0f, 30f));
entries.add(new BarEntry(1f, 40f));
entries.add(new BarEntry(2f, 20f));
entries.add(new BarEntry(3f, 50f));
entries.add(new BarEntry(4f, 10f));
BarDataSet dataSet = new BarDataSet(entries, "Label");
BarData data = new BarData(dataSet);
BarChart chart = findViewById(R.id.bar_chart);
chart.setData(data);
chart.setFitBars(true);
chart.getDescription().setEnabled(false);
chart.getXAxis().setEnabled(false);
chart.getAxisLeft().setDrawGridLines(false);
chart.getAxisRight().setDrawGridLines(false);
chart.getAxisLeft().setDrawLabels(false);
chart.getAxisRight().setDrawLabels(false);
chart.getLegend().setEnabled(false);
chart.animateY(1000);
chart.invalidate();
通过使用MPAndroidChart库,我们可以很容易地在Android中创建条形图。在配置条形图时,可以根据需要调整各种不同的选项来满足我们的需求。