返回

MPAndroidChart BarChart 构建指南与示例代码

Android

  1. 准备工作

1.1 添加依赖

在项目的 build.gradle 文件中添加以下依赖:

implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0'

1.2 布局文件中添加 BarChart

在布局文件中添加 BarChart 组件:

<com.github.mikephil.charting.charts.BarChart
    android:id="@+id/bar_chart"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

2. 初始化 BarChart

在 Java 代码中,通过 findViewById() 方法获取 BarChart 实例:

BarChart barChart = findViewById(R.id.bar_chart);

3. 设置数据

3.1 创建 BarData 对象

BarData 对象用于存储图表中的数据。创建一个 BarData 对象,并添加数据集:

BarData data = new BarData();

BarDataSet dataSet = new BarDataSet(entries, "DataSet 1");
data.addDataSet(dataSet);

3.2 设置 BarChart 数据

将 BarData 对象设置给 BarChart:

barChart.setData(data);

4. 自定义 BarChart 外观

4.1 设置 X 轴和 Y 轴

您可以通过 setXAxis() 和 setYAxis() 方法设置 X 轴和 Y 轴的样式:

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

YAxis leftYAxis = barChart.getAxisLeft();
leftYAxis.setAxisMinimum(0f);

4.2 设置图例

您可以通过 setLegend() 方法设置图例的样式:

Legend legend = barChart.getLegend();
legend.setEnabled(true);
legend.setForm(Legend.LegendForm.LINE);

4.3 设置文本

您可以通过 setDescription() 方法设置图表文本:

Description description = new Description();
description.setText("BarChart Demo");
barChart.setDescription(description);

5. 处理用户交互

5.1 设置触摸事件监听器

您可以通过 setOnChartGestureListener() 方法设置触摸事件监听器,以处理用户的手势操作:

barChart.setOnChartGestureListener(new OnChartGestureListener() {
    @Override
    public void onChartGestureStart(MotionEvent me, ChartTouchListener.ChartGesture lastPerformedGesture) {

    }

    @Override
    public void onChartGestureEnd(MotionEvent me, ChartTouchListener.ChartGesture lastPerformedGesture) {

    }

    @Override
    public void onChartLongPress(MotionEvent me) {

    }

    @Override
    public void onChartDoubleTap(MotionEvent me) {

    }

    @Override
    public void onChartSingleTapUp(MotionEvent me) {

    }

    @Override
    public void onChartFling(MotionEvent me1, MotionEvent me2, float velocityX, float velocityY) {

    }

    @Override
    public void onChartScale(MotionEvent me, float scaleX, float scaleY) {

    }

    @Override
    public void onChartTranslate(MotionEvent me, float dX, float dY) {

    }
});

5.2 设置点击事件监听器

您可以通过 setOnChartValueSelectedListener() 方法设置点击事件监听器,以处理用户点击图表上的数据点:

barChart.setOnChartValueSelectedListener(new OnChartValueSelectedListener() {
    @Override
    public void onValueSelected(Entry e, Highlight h) {

    }

    @Override
    public void onNothingSelected() {

    }
});

6. 刷新图表

在对 BarChart 进行任何更改后,您需要调用 invalidate() 方法以刷新图表:

barChart.invalidate();

结语

本教程向您展示了如何使用 MPAndroidChart 库在 Android 项目中构建柱状图 (BarChart)。通过本文,您可以掌握 BarChart 的基本使用方法,并能够在项目中创建美观、交互良好的柱状图。