Android开源图表库MPAndroidChart

2023-11-06

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

MPAndroidChart效果图

MPAndroidChart使用方法

这里我们举例绘制一个饼图,步骤如下:

XML布局代码

<com.github.mikephil.charting.charts.PieChart
android:id=”@+id/spread_pie_chart”
android:layout_width=”match_parent”
android:layout_height=”320dip” />

初始化饼图

ColorTemplate mCt;
mCt = new ColorTemplate();
mCt.addDataSetColors(ColorTemplate.PASTEL_COLORS, this);
mChart = (PieChart) headView.findViewById(R.id.spread_pie_chart);
mChart.setColorTemplate(mCt);
mChart.setDescription(“”);
mChart.setHoleRadius(30f);
mChart.setTransparentCircleRadius(0f);
mChart.setCenterTextSize(18f);
mChart.setDrawXValues(true);
mChart.setUsePercentValues(true);
mChart.setDrawLegend(false);
// space between slices
mChart.setSliceSpace(1f);
mChart.setDrawHoleEnabled(false);
mChart.setTouchEnabled(false);

绑定图表数据

ArrayList yVals = new ArrayList();
ArrayList xVals = new ArrayList();
for (int i = 0; i < listDatas.size(); i++) {
    yVals.add(new Entry((float)listDatas.get(i).getProvinceCount(), i));
    xVals.add(listDatas.get(i).getProvinceName());
}
DataSet set1 = new DataSet(yVals, "Content");
ArrayList dataSets = new ArrayList();
dataSets.add(set1);
ChartData data = new ChartData(xVals, dataSets);
mChart.setData(data);

对于简单的Android图表需求,MPAndroidChart可以很好的解决,不妨大家可以试一试。

软件首页 软件下载

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android开源图表库MPAndroidChart 的相关文章

  • 找不到参数的方法 dependencyResolutionManagement()

    我正在尝试使用老师给我的一个项目 但它显示了一个错误 Settings file Users admin AndroidStudioProjects HTTPNetworking settings gradle line 1 A probl
  • 如何清除所有WebView存储的信息?

    我有一个 Android 浏览器 我可以选择清除缓存 存储 cookie 等 代码如下所示 webView clearCache true webView clearFormData webView clearHistory webView
  • 如何重试已消耗的 Observable?

    我正在尝试重新执行失败的已定义可观察对象 一起使用 Retrofit2 和 RxJava2 我想在单击按钮时重试特定请求及其订阅和行为 那可能吗 service excecuteLoginService url tokenModel Ret
  • android中向sqlite中插入大量数据

    目前 我必须一次向我的 Android 中插入超过 100 亿条数据 然而 内存不足的问题会使程序崩溃 sqlite 插入测试非常简单 只需使用 for 循环生成 sql 插入命令并通过 开始 和 提交 进行包装 private Array
  • Android - 从资产中解析巨大(超大)JSON 文件的最佳方法

    我正在尝试从资产文件夹中解析一些巨大的 JSON 文件 我如何加载并添加到 RecyclerView 我想知道解析这种大文件 大约 6MB 的最佳方法是什么 以及您是否知道可以帮助我处理此文件的良好 API 我建议您使用GSON lib h
  • 卸载后 Web 应用程序不显示“添加到主屏幕”

    这是我第一次创建网络应用程序 我设法解决了这个问题 所以我得到了实际的 chrome 提示 将其添加到主屏幕 然后我从手机上卸载了该网络应用程序 因为我想将其展示给我的同事 但是 屏幕上不再出现提示 问题 这是有意为之的行为还是我的应用程序
  • SearchView过滤ListView

    我已经实现了搜索视图来过滤我的列表视图项目 当我输入任何文本时 它会过滤列表 但当我退出搜索视图时 它不会返回原始列表项 public class PlacesListAdapter extends ArrayAdapter
  • CardView 圆角获得意想不到的白色

    When using rounded corner in CardView shows a white border in rounded area which is mostly visible in dark environment F
  • 谷歌坐标认证

    当我尝试连接到 Google 坐标时 总是出现异常GoogleAuthException 我拥有 Google 地图协调中心许可证 我确实使用我的包应用程序名称和 SHA1 在 google 控制台中创建了我的客户端 ID 我将权限添加到清
  • 如何在android中获取Camera2 API的当前曝光

    In android hardware Camera旧的 我使用下面的代码获取当前曝光并获取它Camera Camera Parameters param mCamera getParameters currentExposure para
  • java.lang.NoClassDefFoundError:org.apache.batik.dom.svg.SVGDOMImplementation

    我在链接到我的 Android LibGDX 项目的 Apache Batik 库时遇到了奇怪的问题 但让我们从头开始 在 IntelliJ Idea 中我有一个项目 其中包含三个模块 Main Android 和 Desktop 我强调的
  • 在画布上绘图

    我正在编写一个 Android 应用程序 它可以在视图的 onDraw 事件上直接绘制到画布上 我正在绘制一些涉及单独绘制每个像素的东西 为此我使用类似的东西 for int x 0 x lt xMax x for int y 0 y lt
  • Android 中 Kotlin 协程的正确使用方式

    我正在尝试使用异步更新适配器内的列表 我可以看到有太多的样板 这是使用 Kotlin 协程的正确方法吗 这个可以进一步优化吗 fun loadListOfMediaInAsync async CommonPool try Long runn
  • 如何使用InputConnectionWrapper?

    我有一个EditText 现在我想获取用户对此所做的所有更改EditText并在手动将它们插入之前使用它们EditText 我不希望用户直接更改中的文本EditText 这只能由我的代码完成 例如通过使用replace or setText
  • Android Studio - Windows 7 上的 Android SDK 问题

    我对 Google i o 2013 上发布的最新开发工具 Android Studio 有疑问 我已经成功安装了该程序并且能够正常启动 我可以导入现有项目并对其进行编辑 但是 当我尝试单击 SDK 管理器图标或 AVD 管理器图标时 或者
  • 在activity_main.xml中注释

    我是安卓新手 据我所知 XML 中的注释与 HTML 中的注释相同 使用 形式 我想在 Android 项目的 Activity main xml 配置文件中写一些注释 但它给了我错误 值得注意的是 我使用的是 Eclipse 但目前 我直
  • Android:膨胀布局时出现 StackOverFlowError 和 InvokingTargetException

    首先 对不起我的英语 我在膨胀布局时有一个问题 我有一个自定义视图 从 LinearLayout 扩展而来 称为按钮帮助 我在名为的布局上使用该视图加载活动 我的以下代码在所有设备和模拟器上都能完美运行 但具有 QVGA 屏幕 例如 Sam
  • 如何在Xamarin中删除ViewTreeObserver?

    假设我需要获取并设置视图的高度 在 Android 中 众所周知 只有在绘制视图之后才能获取视图高度 如果您使用 Java 有很多答案 最著名的方法之一如下 取自这个答案 https stackoverflow com a 24035591
  • 如何将 google+ 登录集成到我的 Android 应用程序中?

    大家好 实际上我需要通过我的应用程序从 google 登录人们 现在我阅读了 google 上的文档 其中指出 要允许用户登录 请将 Google Sign In 集成到您的应用中 初始化 GoogleApiClient 对象时 请求 PL
  • 按日期对 RecyclerView 进行排序

    我正在尝试按日期对 RecyclerView 进行排序 但我尝试了太多的事情 我不知道现在该尝试什么 问题就出在这条线上适配器 notifyDataSetChanged 因为如果我不放 不会显示错误 但也不会更新 recyclerview

随机推荐

  • Kettle入门(六)

    资源库 数据库资源库 数据库资源库是将作业和转换相关的信息存储在数据库中 执行的时候直接去数据库读取信息 便于跨平台使用 操作步骤 1 点击右上角 connect 选择 Other Resporitory 2 选择 Database Rep
  • dom影像图形成数字地形图_基于MapMatrix的数字正射影像图制作

    施卫东 周小扬 摘 要本论文基于武汉航天远景科技股份有限公司的新型数字摄影测量系统MapMatrix 结合武汉商学院三维数字校园生产实践进行1 2000数字正射影像图制作 探讨数字正射影像图 DOM 的制作方法 并说明了MapMatrix相
  • 关于md文件插入视频链接的方法。(亲测可用)

    md文件中插入了HTML5的代码 如下
  • 【计算机基础知识9】前端设计模式与常见类型

    目录 一 前言 二 设计模式的基本概念和原则 三 创建型设计模式 四 结构型设计模式 五 行为型设计模式 六 MVC和MVVM框架中的设计模式 七 实际应用案例分析 一 前言 在软件开发领域 设计模式是一种解决常见问题的最佳实践 它可以帮助
  • Sqlalchemy join连表查询

    摘要1 https blog csdn net weixin 33804582 article details 92471702 摘要2 https www cnblogs com juandx p 5442752 html 摘要3 htt
  • RFID服装管理系统改善零售供应链

    随着时尚零售业的竞争日益激烈 RFID技术正快速地改变着服装管理的方式 我们将探讨RFID服装管理系统的核心优点 以及如何在零售供应链中充分利用它 首先 让我们了解一下RFID技术是什么 RFID是一种无线通信技术 通过使用RFID标签和R
  • 人机博弈-吃子棋游戏(二)算气

    算法过程如下 输入计算棋气的起始子 检查我方棋子其周边的空白 并查看此空白是否已经计算过气了 如果没有计算过气加一 如果已经计算则略过 进而递归调用计算我方棋子上下左右子的气 最后算法会返回棋串的子数和气数 算法注释十分详尽 这个计算棋子气
  • linux中Shell历史命令记录文件的路径是什么

    Bash shell在 bash history 表示用户目录 文件中保存了500条使用过的命令 这样能使你输入使用过的长命令变得容易 每个在系统中拥有账号的用户在他的目录下都有一个 bash history 文件 bash shell应该
  • shell变量的设置规则

    1 变量设置规则 2 变量赋值与运算 1 变量赋值 name lbg 等号前后不能有空格 name Lebron James 变量值中有空格要用双引号 echo n a m e 用 name
  • PT100热敏电阻原理解析

    什么是PT100 PT100电阻是指铂热电阻 其中PT是指 铂 元素 100是指铂热电阻的特性在0 时 电阻值刚好是100 所以通常称它为PT100热电阻或铂电阻 PT100是中低温区最常用的一种温度检测元件 其导体的电阻值随温度的增加而成
  • 嵌入式Linux驱动开发(I2C专题)(一)

    一 I2C协议 1 1 硬件连接 I2C在硬件上的接法如下所示 主控芯片引出两条线SCL SDA线 在一条I2C总线上可以接很多I2C设备 1 2 IIC传输数据的格式 1 2 1 写操作 流程如下 主芯片要发出一个start信号 然后发出
  • android studio报错Out of memory: GC overhead limit exceeded. Please fix the project‘s Gradle settings

    项目场景 提示 这里简述项目相关背景 例如 项目场景 从gitee上克隆下来的项目从android studio中打开 问题描述 提示 这里描述项目中遇到的问题 例如 数据传输过程中数据不时出现丢失的情况 偶尔会丢失一部分数据 APP 中接
  • scratch关于克隆停止的问题

    克隆这个代码在scratch中用处挺大的 但是在用的过程中也会出现一些问题 比如说克隆在到达一定数量之后会停止继续克隆 这是由于克隆是有个数限制的 昨天测了一下克隆体的个数限制是300个左右 如何去测 就是当作为克隆体启动时 用一个初始化为
  • word 安装

    目录 概述 word 安装 1 下载安装 2 解压运行 3 卸载移除 4 安装部署 5 激活 亲测可用 记录一下 概述 Office Tool Plus 是一个强大的 Office 部署工具 可以很方便地部署 Office 它基于 Offi
  • 基于遗传算法的多目标优化算法(matlab实现)

    1 理论基础 1 1 多目标优化及Pareto最优解 多目标优化问题可以描述如下 其中 f x 为待优化的目标函数 x为待优化的变量 Ib和ub分别为变量x的下限和上限约束 Aeq x beq为变量x的线性等式约束 A x b为变量x的线性
  • HBuilder X3.1.22安装教程(非常详细)从零基础入门到精通,看完这一篇就够了(附安装包)

    软件下载 软件 HBuilder X 版本 3 1 22 语言 简体中文 大小 278 95M 安装环境 Win11 Win10 Win8 Win7 硬件要求 CPU 2 0GHz 内存 4G 或更高 下载通道 百度网盘丨下载链接 http
  • RPA机器人流程适用性评估的9个要素

    组织通常可以从以下几个方面来考虑RPA机器人流程的筛选 确保在RPA机器人流程自动化过程中产生最大投资回报率 ROI 如何去选择有影响力且易于RPA机器人自动化的流程 1 影响成本和收入的流程 最具影响力的流程 例如 如果定价规则不明确 报
  • 17. 实战:手把手通关某音乐平台热门评论

    目录 前言 链接在评论区 目的 保姆级思路 最后奉上完整代码 运行效果 前言 众所周知 某音乐平台的评论区金句频出 热门评论更是美不胜收 我们也想要批量获取这些信息来做信息分析 数据处理等工作 也可以陶冶自己的情操 一举多得 所以我们今天来
  • 蓝以中老师《高等代数》第02章:向量空间与矩阵,笔记

    蓝以中高代第二章笔记
  • Android开源图表库MPAndroidChart

    MPAndroidChart是一款基于Android的开源图表库 MPAndroidChart不仅可以在Android设备上绘制各种统计图表 而且可以对图表进行拖动和缩放操作 应用起来非常灵活 和前面介绍的AChartEngine相比 MP