android柱状图和饼状图的简单使用(MPAndroidChart)

MPAndroidChart绘制图表 最新项目上遇到要绘制图表的功能,研究了一下,也使用了一些绘制图表的库,其中包含AChartEngine (google自带),但是goole自带的功能简单,要想绘制绚丽的图表要自己改源码。所以,这里推荐一款绘制图表的库–MPAndroidChart。MPAndroidChart的源码地址:https://github.com/PhilJay/MPAndroidChart下面将详细介绍绘制过程,xml 阅读详情
MPAndroidChartMPAndroidChart是一个开源的图标库,能够实现各种各样的效果,自定义比较容易,在项目中有简单使用,做一个记录。

1、柱状图的简单使用

效果图:
这里写图片描述这里写图片描述


1、导包,在这用的是两个jar包

这里写图片描述

2、xml文件中配置

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <com.github.mikephil.charting.charts.BarChart
        android:id="@+id/barChart"
        android:layout_width="match_parent"
        android:layout_height="300dp"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp">

    </com.github.mikephil.charting.charts.BarChart>
</LinearLayout>

3、代码中设置如下:

package com.example.mpchart;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;

import com.github.mikephil.charting.charts.BarChart;
import com.github.mikephil.charting.components.Legend;
import com.github.mikephil.charting.components.XAxis;
import com.github.mikephil.charting.data.BarData;
import com.github.mikephil.charting.data.BarDataSet;
import com.github.mikephil.charting.data.BarEntry;
import com.github.mikephil.charting.utils.ValueFormatter;

import java.util.ArrayList;

/**
 * Created by Administrator on 2016/12/18.
 */
public class BarActivity extends Activity {
    private BarChart barChart;
    private XAxis xAxis;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_bar);
        barChart= (BarChart) findViewById(R.id.barChart);
        //1、基本设置
        xAxis=barChart.getXAxis();
        xAxis.setDrawAxisLine(true);
        xAxis.setDrawGridLines(false);
        barChart.setDrawGridBackground(false); // 是否显示表格颜色
        barChart.getAxisLeft().setDrawAxisLine(false);
        barChart.setTouchEnabled(false); // 设置是否可以触摸
        barChart.setDragEnabled(true);// 是否可以拖拽
        barChart.setScaleEnabled(true);// 是否可以缩放
        //2、y轴和比例尺

        barChart.setDescription("四个季度");// 数据描述

        barChart.getAxisLeft().setEnabled(false);
        barChart.getAxisRight().setEnabled(false);

        Legend legend = barChart.getLegend();//隐藏比例尺
        legend.setEnabled(false);

        //3、x轴数据,和显示位置
        ArrayList<String> xValues = new ArrayList<String>();
        xValues.add("一季度");
        xValues.add("二季度");
        xValues.add("三季度");
        xValues.add("四季度");

        xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);//数据位于底部


        //4、y轴数据
        ArrayList<BarEntry> yValues = new ArrayList<BarEntry>();
        //new BarEntry(20, 0)前面代表数据,后面代码柱状图的位置;
        yValues.add(new BarEntry(20, 0));
        yValues.add(new BarEntry(18, 1));
        yValues.add(new BarEntry(4, 2));
        yValues.add(new BarEntry(45, 3));

        //5、设置显示的数字为整形
        BarDataSet barDataSet=new BarDataSet(yValues,"");
        barDataSet.setValueFormatter(new ValueFormatter() {
            @Override
            public String getFormattedValue(float v) {
                int n = (int) v;
                return n + "";
            }
        });
        //6、设置柱状图的颜色
        barDataSet.setColors(new int[]{Color.rgb(104, 202, 37), Color.rgb(192, 32, 32),
                Color.rgb(34, 129, 197), Color.rgb(175, 175, 175)});
        //7、显示,柱状图的宽度和动画效果
        BarData barData = new BarData(xValues, barDataSet);
        barDataSet.setBarSpacePercent(40f);//值越大,柱状图就越宽度越小;
        barChart.animateY(1000);
        barChart.setData(barData); //



    }
}

2、饼状图

package com.example.mpchart;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.util.DisplayMetrics;

import com.github.mikephil.charting.charts.PieChart;
import com.github.mikephil.charting.components.Legend;
import com.github.mikephil.charting.data.Entry;
import com.github.mikephil.charting.data.PieData;
import com.github.mikephil.charting.data.PieDataSet;
import com.github.mikephil.charting.utils.PercentFormatter;

import java.util.ArrayList;

/**
 * Created by Administrator on 2016/12/18.
 */
public class PieActivity extends Activity {
    private PieChart pieChart;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_pie);
        pieChart = (PieChart) findViewById(R.id.pie_chart);
        //1、基本设置
        pieChart.setDrawCenterText(false);  //饼状图中间文字不显示
        pieChart.setDescription("");
        pieChart.setDrawHoleEnabled(false);    //设置实心
        pieChart.setRotationAngle(90); // 初始旋转角度

        //2、添加数据
        ArrayList<String> xValues = new ArrayList<String>();  //xVals用来表示每个饼块上的内容
        xValues.add("this is one");
        xValues.add("this is two");
        xValues.add("this is three");
        xValues.add("this is four");

        ArrayList<Entry> yValues = new ArrayList<Entry>();
        yValues.add(new Entry(10, 0));
        yValues.add(new Entry(3, 1));
        yValues.add(new Entry(23, 2));
        yValues.add(new Entry(56, 3));
        //3、y轴数据
        PieDataSet pieDataSet = new PieDataSet(yValues, ""/*显示在比例图上*/);
        pieDataSet.setSliceSpace(0f); //设置个饼状图之间的距离
        //4、设置颜色
        ArrayList<Integer> colors = new ArrayList<Integer>();
        colors.add(Color.rgb(205, 205, 205));
        colors.add(Color.rgb(114, 188, 223));
        colors.add(Color.rgb(255, 123, 124));
        colors.add(Color.rgb(57, 135, 200));
        pieDataSet.setColors(colors);
        //5、 设置数据
        PieData pieData = new PieData(xValues, pieDataSet);
        DisplayMetrics metrics = getResources().getDisplayMetrics();
        float px = 5 * (metrics.densityDpi / 160f);
        pieDataSet.setSelectionShift(px); // 选中态多出的长度
        pieData.setValueFormatter(new PercentFormatter());//显示百分比
        //6、去掉比例尺和说明
        Legend legend = pieChart.getLegend();//下标说明,false
        legend.setEnabled(false);
        pieChart.setDescription("");

        //7、显示百分比
        pieData.setValueFormatter(new PercentFormatter());

        //8、显示
        pieChart.setData(pieData);
    }
}

demo下载(as)地址
http://download.youkuaiyun.com/detail/androidxiaogang/9714452

Android开发中使用MPAndroidChart库绘制折线图、柱状图和饼形图的实现 本文将介绍如何在Android应用中使用MPAndroidChart库,并通过示例代码演示其使用方法。通过创建相应的数据集合对象,并将其添加到对应的图表中,我们可以轻松实现各种统计图表的展示效果。以上示例代码创建了一个包含5个数据点的折线图,并将其显示在LineChart组件中。以上示例代码创建了一个包含5个数据点的柱状图,并将其显示在BarChart组件中。以上示例代码创建了一个包含4个数据点的饼形图,并将其显示在PieChart组件中。 阅读详情

相关推荐

安卓案例:使用MPAndroidChart绘制饼状图、柱状图和折线图

目录 一、MPAndroidChart概述 二、案例运行效果 1、主控界面 2、显示饼状图 3、显示柱状图 4、显示折线图 5、显示动态折线图 三、项目结构图 1、Project视图 2、Android视图 四、实现步骤 1、app的build.gradle里添加依赖 2、主控界面 (1)布局activity_main.xml (2)主界面类MainActivity ...

howard2005的专栏 4049

Android 之MPAndroidChart图表案例

MPAndroidChart图表案例

qq_29848853的博客 5463

构建可编程记忆系统:OpenClaw-SuperMemory本地部署与智能知识管理实战

在信息过载的时代,高效的知识管理与智能检索成为技术从业者的核心需求。向量数据库与嵌入模型技术通过将文本转化为高维向量,实现了基于语义相似度的智能搜索,突破了传统关键词匹配的局限。这项技术的核心价值在于将静态存储的信息转化为可动态查询和计算的知识资产,极大地提升了信息调用的准确性和效率。其应用场景广泛,从个人笔记管理、对话历史归档到企业知识库构建都能发挥关键作用。本文聚焦于开源项目OpenClaw-SuperMemory,它正是基于这一技术栈,通过本地化部署实现了可编程记忆系统的构建。项目集成了ChromaD

weixin_42525482的博客 319

AndroidStudio内用MPAndroidChart制作柱状图(有详细注释)

用MPAndroidChart制作柱状图(有详细注释)

XinBaDeRongYao的博客 2212

vivado运行时报错 license文件更新操作

vivado使用:SYNTHESIS->Run Synthesis 时报错 [Common 17-345] A valid license was not found for feature ‘Synthesis’ and/or device ‘xc7vx485t’. Please run the Vivado License Manager for assistance in determiningwhich features and devices are licensed for your sy

qq_44692266的博客 2万+

反激开关电源设计全解析:从CCM/DCM原理到PCB布局实战

开关电源作为现代电子设备的能量转换核心,其核心原理是通过高频开关动作实现高效的电能变换。反激拓扑因其结构简单、成本低廉且易于实现电气隔离,成为小功率离线式电源的主流选择。其技术价值在于通过变压器耦合实现能量存储与传递,解决了安全隔离与多路输出等关键需求,广泛应用于充电器、适配器及家电供电等场景。本文聚焦反激电路,深入剖析其CCM与DCM两种工作模式的原理差异及选型考量,并结合伏秒平衡定律与RCD钳位等热词,详解从变压器计算到MOSFET选型的完整工程设计流程。

weixin_31951365的博客 341

Android MPAndroidChart--使用柱状图

前言 2021-4-16 记录今天学习的内容 以下是本篇文章正文内容,下面案例可供参考 一、MpAndroidChart是什么? MpAndroidChart是基于Android的开源图表库,它能够实现很多常用的图表类型.如线性图,饼图,柱状图和散点图.它还提供了一些对图表的操作功能,如:拖拽,缩放,显示动画效果等. 文档地址: https://github.com/PhilJay/MPAndroidChart 二、导入依赖 1.在根文件目录下引入 代码如下(示例): maven{url 'http.

weixin_51298509的博客 5355

PX4飞控神经网络控制:从仿真到嵌入式部署实战

神经网络控制正逐步革新传统PID在无人机领域的统治地位。通过将深度学习模型部署到PX4飞控硬件,实现了从传感器数据直接生成电机指令的端到端控制。这种架构依赖TensorFlow Lite Micro等轻量级推理框架,在STM32等嵌入式处理器上可达到93μs级推理速度。关键技术突破包括:基于NVIDIA Isaac Gym的高效仿真训练、模型量化压缩技术(如8位整数量化)、以及与PX4原生安全架构的无缝集成。该方案在mRobotics Pixracer Pro等硬件上验证了可行性,为无人机姿态控制、视觉导航

weixin_30570101的博客 403

android柱状图第三方,Android 优秀图标库MPAndroidChart之柱状图(适应百分之八十项目需求)...

前言在项目当中很多时候要对数据进行分析就要用到图表,在gitHub上有很多优秀的图表开源库,今天给大家分享的就是MPAndroidChart中的柱状图。简单介绍一下MPAndroidChart:他可以实现图表的拖动,3D,局部查看,数据动态展示等功能。废话就不多说了,先给看大家看看效果图操作步骤第一步:需要将依赖的库添加到你的项目中implementation 'com.github.PhilJa...

weixin_35346265的博客 1116

Trae+Playwright MCP自动化测试全流程指南:从环境搭建到智能体运行

本文提供了一份详细的Trae与Playwright MCP集成指南,涵盖从Node.js、Python环境搭建到智能体创建的全流程。通过结合MCP协议,AI智能体能够理解任务并驱动Playwright执行复杂的浏览器自动化操作,实现从网页数据抓取到端到端测试的智能工作流。

banana的博客 531

机器学习 -- 信用卡评分模型 -- 互联网金融风控

互联网金融主要分为资金类和资产类。资金类主要是理财产品,吸储,主要指标是用户转化、留存和复投,重在客户运营。资产类主要是贷款,包括消费金融和现金贷,小额贷款属于此类,主要目的是用户转化,还款和风险控制,信用卡评分模型就属于风险控制。 信用评分作用是对贷款申请人(信用卡申请人)做风险评估分值的方法。 信用卡评分是以大量数据的统计结果为基础,根据客户提供的资料和历史数据对客户的信用进行评估,评分卡模型...

XiaoMaEr66的博客 2419

Android图表超简单实现柱状图、折线图、饼状图(基于MpAndroidChart)

本文基于MpAndroidChart实现各种图标,目的是让同学们快速实现图标效果 实现效果: 柱状图 折线图 饼状图 实现步骤: 1.导入 先从git上克隆下来,下载之后将jar包考到自己的工程 git地址 我用的是mpandroidchartlibrary-2-2-2.jar 2.柱状图实现 柱状图实现核心类:BarChart(用于显示柱状图)、BarData (用于

XieChaoAndroid的博客 8478

ArcGIS Pro符号化教程

本文详细介绍了ArcGIS Pro的软件设置和符号化操作步骤。主要包括:1)设置默认工程目录和关闭地图自动加载;2)创建新工程的基本流程;3)点要素的单一符号化方法,包括样式修改和图层调整;4)图表符号显示过滤器的使用,涉及字段添加、图表类型选择和背景设置。文章还提供了操作截图和数据下载链接,适合GIS初学者学习ArcGIS Pro的基础符号化操作。

WwLK123的博客 548

Android图形学:高级架构师详解MPAndroidChart实现柱状图,饼状图和线性图

今天架构师给大家详解,怎么MPAndroidChart上实现柱状图,饼状图和线性图。下面我们看一下效果图;在给大家分享之前,这里推荐下我自己建的Android技术分享群 653961128,不管你是小白还是大牛,小编我都挺欢迎,不定期分享干货,包括2017最新的Android企业案例学习资料和零基础入门教程,欢迎初学和进阶中的小伙伴。MPAndroidChart实现柱状图,饼状图和线性图视频:点击...

weixin_34384557的博客 339

Codex 100个真实案例 - 用AI做在线考试系统(自动组卷+防作弊)

本案例使用 Codex 从零搭建一个功能完整的在线考试系统。涵盖题库管理(单选/多选/判断/填空)、智能随机组卷、考试倒计时、自动判分、成绩统计分析、以及多维度防作弊机制(切屏检测、禁止复制粘贴、IP限制等)。前端使用 Vue 3 + Element Plus 构建考试界面,后端使用 Node.js + Express + MySQL 提供 API 服务。全程用自然语言驱动 Codex 完成开发,最终交付一个可直接部署的在线考试平台。

yueyeguzhuo的专栏 78

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

(转)android柱状图和饼状图的简单使用(MPAndroidChart)

原地址:http://blog.youkuaiyun.com/androidxiaogang/article/details/53719631 MPAndroidChartMPAndroidChart是一个开源的图标库,能够实现各种各样的效果,自定义比较容易,在项目中有简单使用,做一个记录。 1、柱状图的简单使用 效果图:  1、导包,在这用的是两个jar包

Elvis写代码 1109

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

开源图表库MPAndroidChart之饼状图和柱状图

MPAndroidChart是一款基于Android的开源图表库,MPAndroidChart不仅可以在Android设备上绘制各种统计图表,而且可以对图表进行拖动和缩放操作,应用起来非常灵活。MPAndroidChart同样拥有常用的图表类型:线型图、饼图、柱状图和散点图。

尘埃zza的博客 962

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

MPAndroidChart 绘制 饼状图、柱状图和折线图简单汇总

。。。

hdhhd的博客 1200

MPAndroidChart(GitHub上优秀得图表功能库)

一丶简介 1.项目初步设计图出来了,很容易注意到的难点就是柱型图,和环型图           2.自定义超出能力范围,网上搜,MPAndroidChart是比较优秀的图表框架,当然GitHub上搜索还有其他的: lecho/hellocharts-android   xcltapestry/XCL-Charts   diogobernardino/WilliamChart 都是

行动者&&职业化 1万+

java饼状图图标_MPAndroidChart开源图表库的使用介绍之饼状图、折线图和柱状图

MPAndroidChart开源图表库之饼状图为大家介绍一款图标开源库MPAndroidChart,它不仅可以在Android设备上绘制各种统计图表,而且可以对图表进行拖动和缩放操作,用起来非常灵活。MPAndroidChart同样拥有常用的图表类型:线型图、饼图、柱状图和散点图。mpandroidchartlibrary.jar包下载地址:下面主要实现以下饼状图:1.从上面的地址中下载最新mpa...

weixin_36185970的博客 550

Android中使用MPAndroidChart-3绘制图表的基本使用--自学自学笔记

关于使用MPAndroidChart-3.1.0绘制饼状图,柱状图,多柱图,符合图等图表的基本使用

qq_52211982的博客 2219

Android图表(最新版)----柱状图和饼状图

在之前《Android图表(最新版)----折线图》中,介绍过MPAndroidChart中常用的折线图的用法,接下来将简单介绍一下柱状图和饼状图的用法。 1、柱状图BarChart 先看代码,跟折线图基本一致,个别API单独介绍一下。 private BarChart bar_chart; @Override protected void onCreate(Bundle save...

qq_33235287的博客 3115

【Android -- 开源库】绘制图表 MPAndroidChart 的基本使用

Android 平台绘图的开源库有好几个,最成熟最出名的就属于 MPAndroidChart 了,他能帮我们实现曲线图、折线图、柱状图、饼状图,分布图等等。同时还可以实现混合图表。

Kevin Learn Android 5940

android柱状图和饼状图的的实现

还是先看看效果图,免得浪费大家的时间 1.第三方框架有很多,这里采用的是MPAndroidChart,github链接下面 https://github.com/PhilJay/MPAndroidChart AS的导入:直接配置gradle, compile 'com.github.PhilJay:MPAndroidChart:v2.2.4'。 Eclipse:请自行看g

wang891019的博客 3533
上一篇: RecyclerView嵌套RecyclerView
下一篇: java内存区域与内存异常(jvm学习)
android_xiaogang
博客等级 码龄12年 89粉丝 142原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值