2025年Android图表控件MPAndroidChart——BarChart实现多列柱状图以及堆积柱状图

Android图表控件MPAndroidChart——BarChart实现多列柱状图以及堆积柱状图本文介绍了如何使用 MPAndroidCha 库在 Android 中创建柱状图 包括数据准备 柱状图展示 外观完善 多条柱状图的实现以及触摸事件的响应

目录

前言

1. 数据准备

1.1 数据来源

2. 图表展示

2.1 MPAndroidChart获取

2.2 数据对象获取

2.3 数据展示

3. 柱状图外观完善

3.1 去掉图表外框,描述内容以及X Y轴线条

3.2 修改X Y轴网格线

3.3 X Y轴自定义显示值

3.4 柱状图显示不完整问题解决

3.5 单条柱状图宽度

4. 多条柱状图

4.1 多条柱状图展示

4.2 由堆积柱状图变为并排多列柱状图

5. BarChart触摸事件

5.1 柱状图点击事件响应

5.2 禁用图表触摸事件

6. 最终效果图


前言

发现最新的MPAndroidChart和以前版本的使用有一些差距,就写下了现在新版的使用方法

注:博客2018/08/24更新 使用的MPAndroidChart版本3.0.3

相关文章:

Android图表控件MPAndroidChart的简单介绍(MPAndroidChart3.0)

Android图表控件MPAndroidChart——曲线图LineChart的使用(多条曲线)

Android图表控件MPAndroidChart——曲线图LineChart(多条曲线)动态添加数据

Android图表控件MPAndroidChart——柱状图BarChart的使用(多条柱状图)

Android图表控件MPAndroidChart——曲线图+柱状图 CombinedChart的使用 

Android图表控件MPAndroidChart——源码修改实现曲线图X轴直尺刻度样式

本文相关代码

MPAndroidChart在github上地址:GitHub - PhilJay/MPAndroidChart: A powerful 🚀 Android chart view / graph view library, supporting line- bar- pie- radar- bubble- and candlestick charts as well as scaling, panning and animations.

目标效果图为中兴通讯的净资产收益率:

1. 数据准备

1.1 数据来源

数据是抓包佣金宝的数据,将获取的数据存入.json文件。

json格式如下

Json 文件地址:

https://github.com/897532167/ChartManager/blob/master/app/src/main/assets/line_chart.json

2. 图表展示

2.1 MPAndroidChart获取

Github 地址:GitHub - PhilJay/MPAndroidChart: A powerful 🚀 Android chart view / graph view library, supporting line- bar- pie- radar- bubble- and candlestick charts as well as scaling, panning and animations.

依赖:

Project 的build.gradle文件中添加

allprojects {
    repositories {
        maven { url 'https://jitpack.io' }
    }
}

然后在 module中的build,gradle 中添加

dependencies {
    implementation 'com.github.PhilJay:MPAndroidChart:v3.0.3'
}

然而大多情况下,我们会根据自己的需求自定义MPAndroidChart库,则需要下载源码并将MPChartLib引入自己的项目中。

2.2 数据对象获取

在Android Studio app项目src同级目录下新建中新建assets文件夹,然后将步骤1.1得到的.json文件放入改文件夹中。

然后在获取.json文件中的json字符串并解析为对应的数据对象,可参考以下文章

相关文章:Android访问assets本地Json文件

在此就不详叙述了,只是列出图表展示所需要的类

        /**
         * 公司净资产收益率
         */
        public static class VtDateValueBean {
            /**
             * fValue : -21.7467
             * sYearMonth : 2018-03
             */

            private double fValue;
            private String sYearMonth;
        }

        /**
         * 行业平均值
         */
        public static class VtDateValueAvgBean {
            /**
             * fValue : 7.50136
             * sYearMonth : 2016-12
             */

            private double fValue;
            private String sYearMonth;
        }

2.3 数据展示

2.3.1  BarChart 的使用流程

使用流程如下

  • 得到BarChart对象 并初始化
  • 得到BarEntry对象,此处添加(X,Y)值
  • 得到BarDataSet对象,添加BarEntry对象
  • 得到BarData对象,添加BarDaraSet对象
  • 显示柱状图 BarChart.setData(BarData)

2.3.2  BarChart 的初始化设置

BarChart与折线图LineChart很类似,基本会使用到如下属性

    private BarChart barChart;
编程小号
上一篇 2025-02-16 23:46
下一篇 2025-01-24 09:51

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/101897.html