MPAndroidChart - 向条形图添加标签

2024-04-05

我的应用程序有必要在条形图的每个条形上都有一个标签。有没有办法用 MPAndroidChart 做到这一点?我在项目 wiki/javadocs 上找不到执行此操作的方法。

如果没有办法做到这一点,是否有其他软件可以让我做到这一点?


更新答案(MPAndroidChart v3.0.1)

作为如此常用的功能,该库的 v3.0.1 添加了IndexAxisValueFormatter https://jitpack.io/com/github/PhilJay/MPAndroidChart/v3.0.1/javadoc/com/github/mikephil/charting/formatter/IndexAxisValueFormatter.html正是出于此目的,所以现在只需一行代码:

mBarChart.getXAxis().setValueFormatter(new IndexAxisValueFormatter(labels));

The ProTip下面的原始答案仍然适用。

原始答案(MPAndroidChart v3.0.0)

对于该库的 v3.0.0,没有直接的方法来设置条形标签,但是有一个相当不错的解决方法,使用ValueFormatter界面。

像这样创建一个新的格式化程序:

public class LabelFormatter implements IAxisValueFormatter {
    private final String[] mLabels;

    public LabelFormatter(String[] labels) {
        mLabels = labels;
    }

    @Override
    public String getFormattedValue(float value, AxisBase axis) {
        return mLabels[(int) value];
    }
}

然后将此格式化程序设置为您的 x 轴(假设您已经创建了一个String[]包含标签):

mBarChart.getXAxis().setValueFormatter(new LabelFormatter(labels));

ProTip:如果您想删除放大条形图时出现的额外标签,可以使用粒度功能:

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

MPAndroidChart - 向条形图添加标签 的相关文章

  • 为什么 cordova.file.documentsDirectory 为空?

    我正在尝试使用 cordova plugin file transfer 在http ngcordova com docs plugins fileTransfer http ngcordova com docs plugins fileT
  • Kapt 未在即时应用程序功能模块中生成类

    我在我的 Android 应用程序中使用 dagger2 即使没有错误 它也不会生成匕首组件类 我已经在设置中启用了注释处理器并重新启动了我的 android studio 但这对我来说不起作用 我也读过这个帖子Dagger2 不生成 Da
  • 如何使用retrofit2进行GET请求?

    我有一个在本地主机上运行的安静的 Web 服务 我想在该剩余 URL 上发出 Retrofit2 GET 请求 MainActivity java private void requestData public static final S
  • OPENGL ES 不工作:无当前上下文

    我尝试了 OpenGL ES2 for Android 一书中所示的程序 但它不起作用 我已经在Odroid E 三星s3 三星y 三星star上进行了测试 the gl version suported returns 2 but i g
  • Android向后兼容技术

    我现在在开发基于最新 API 15 ICS 的 15 项活动 Android 应用程序方面取得了进展 现在我发现应用程序的主要功能主义者即使支持 android v4 也不向后兼容 例如 1 fragment事务动画 2 将StringSe
  • 在代码中旋转按钮(或其中的文本)

    我必须通过编码随机旋转按钮 或里面的文本 它是相同的 API级别低于11是否有button setRotate x 好吧 看了一下 答案是 很复杂 您可以使用旧的动画框架旋转按钮 例如像这样 Button button Button fin
  • 有没有办法将搜索栏添加到我的实际首选项屏幕?

    我一直看到有关添加您自己的搜索栏首选项的教程 但它不在我实际的 prefs xml 中 有什么方法可以在我的主偏好设置屏幕中添加一个 或者我必须将其分开 Google 似乎有 2 个滑块首选项 搜索栏首选项 https github com
  • 编译后从字节代码中删除注释

    我们正在使用一个包含使用 JAXB 注释进行注释的 bean 的库 我们使用这些类的方式完全不依赖于 JAXB 换句话说 我们不需要 JAXB 也不依赖注释 但是 由于注释存在 它们最终会被处理注释的其他类引用 这要求我将 JAXB 捆绑到
  • Android Facebook sdk 3.5 分享对话框

    您好 我正在为 android sdk 3 5 实现 facebook 共享对话框 但是我按照指南没有取得任何成功 FacebookDialog shareDialog new FacebookDialog ShareDialogBuild
  • FLAG_ACTIVITY_REORDER_TO_FRONT 被忽略

    我有一个包含项目列表的 FragmentActivity 当应用程序处于后台时 可以推送该项目列表 发生这种情况时 我想创建一个状态栏通知并提醒用户更新 当用户单击通知时 活动应重新排序到前面并显示在屏幕上 同时在列表底部显示新项目 所以我
  • 多语言 Android 应用程序:在电子邮件和密码字段中显示英文键盘

    我们正在开发一款多语言 Android 应用程序 针对英语和阿拉伯语 面临的问题是在登录和注册屏幕中 我们希望仅以英文文本输入用户名和密码字段 从而显示英文键盘 无论设备区域设置语言如何 已尝试在 edittext 中设置 inputtyp
  • 无法在云控制台中启用 Maps SDK for Android

    我在云控制台中启用适用于 Android 的 Maps SDK 时遇到此问题 https console cloud google com https console cloud google com 它会抛出以下错误 附截图 我收到错误消
  • 更改 Android 中的媒体音量?

    我可以更改媒体音量吗 如何 到目前为止我用过这个 setVolumeControlStream AudioManager STREAM MUSIC 但有一个搜索栏并且想要更改媒体音量 而不是铃声音量 那么有人可以告诉我如何更改媒体音量onC
  • 如何在android中画一条曲线?

    我是 Android 新手 正在开发一个关于绘制线条的示例项目 我想画一条连接两点的曲线或高架线 x1 y1 and x2 y2 我试过canvas drawArc 方法 但是RectF内的值drawArc方法只是圆的 x y 中心点 它在
  • Android 消费品:“已经拥有该商品”,但 inventory.hasPurchase() 为 false

    我被 Google In App v3 困住了 我测试了一次没有消费的购买 例如 当应用程序在购买和消费之间崩溃时 现在我找不到出路 如果我尝试再次购买 它会显示 您已经拥有该商品 但是当我测试所有权时 它说我不拥有它 Inventory
  • Android - 多次实例化一个片段?

    我正在创建一个在 ListView 中显示数据的应用程序 数据分为两种类型 热门 收藏夹 我有一个活动和两个片段 片段根据类别显示项目列表 我为此使用了 ListView 然后我有两个fragment layouts 它们在设计上完全相同
  • 如何更改 Android 12 启动屏幕中的图标形状?

    我想要矩形形状的启动屏幕图标 而不是 android 12 中的圆形形状 我不相信你可以 如果你看这里的第 3 点 https developer android com about versions 12 features splash
  • 制作弹跳动画

    我想做图层的弹跳动画 我已经完成了该图层从右到中心的操作 现在我想将其向后移动一点 然后回到中心 这会产生反弹效果 我想我可以用这样的翻译来做到这一点
  • 改造方法调用可能会产生“java.lang.NullPointerException”

    使用 Retrofit 2 3 0 我在 Android Studio 中收到以下消息 有关如何删除此 IDE 错误消息的任何建议 谢谢 来自Response文档 http square github io retrofit 2 x ret
  • 如何检查设备上是否安装了文本转语音 (TTS) 的特定语言数据?

    我正在创建一个使用文本转语音的应用程序 我希望用户能够离线使用它 因此我检查设备上是否安装了 TTS 数据 以下是执行此操作的代码 Check tts data is installed Intent checkTTSIntent new

随机推荐

  • 我可以使用 Excel javascript 添加创建工作簿吗?

    Excel javascript 加载项是否有任何等效项可以完成我们在 Word 中使用 context application createDocument 所做的事情 我在 Excel 应用程序对象中没有看到任何创建方法 正如 MSFT
  • 如何限制仅从 C# 中的外部类设置内部类的属性

    我有这样的代码的核心 public class OuterClass public static InnerClass GetInnerClass return new InnerClass MyProperty 1 public clas
  • 如何将 Notepad++ 配置为使用空格而不是制表符?

    Notepad 不断插入制表符 这后来弄乱了我的代码 这种情况不仅发生在我按下 Tab 键时 其他时候也会发生 我希望它使用 4 个空格而不是制表符 如何让 Notepad 插入空格而不是制表符 前往优先菜单下的菜单命令Settings 然
  • Hive - hive 中的逆透视功能

    我有两个表如下 Table A userid code code name property id 0001 1 apple id Y1234 0031 4 mango id G4567 0008 3 grape id H1209 0001
  • 将 pandas 的宽变长

    假设我在 pandas 中有以下数据框 AA BB CC date 05 03 1 2 3 06 03 4 5 6 07 03 7 8 9 08 03 5 7 1 我想将其转换为以下内容 AA 05 03 1 AA 06 03 4 AA 0
  • 比较 C# 和 ColdFusion 之间的密码哈希值 (CFMX_COMPAT)

    我有一个密码哈希值存储在一个表中 并通过以下 Coldfusion 脚本放置在那里 Hash Encrypt Form UserPassword GetSiteVars EnCode 我正在尝试在 C 应用程序中添加一些外部功能 我希望能够
  • 将 php 变量发布到新窗口

    我有一个由数据库动态构建的页面 对于动态构建的每个内容 我希望有一个弹出新窗口的链接 并且该新窗口将根据单击第一页上的哪个项目来填充数据库中的列表 我尝试过 POST 方法并将变量发布到 url 我知道这是危险的 另一个独特之处是 单击的链
  • MATLAB 求最大值一个结构体的

    我试图找到结构的最大值但是max tracks matrix 不起作用 它给我以下错误 使用 horzcat 时出错 CAT 论证维度不一致 你有想法吗 这是我的结构的样子 tracks 1x110470 struct array with
  • Android Edittext光标不可见

    我的应用程序中有一个编辑文本 它将在 Froyo 或 Gingerbread 中正确显示光标 但是在更高版本的 sdks 中 光标是不可见的 我在网上找到的解决方案是设置 android textCursorDrawable null 以便
  • Powershell 中的 CDPATH 功能?

    有没有人实现了等效的行为bash 的 cdpath http www caliban org bash bashtips在 Powershell 中 以前不知道CDPATH 很高兴知道 我为 Powershell 编写了以下内容 funct
  • 以对数刻度显示刻度标签 MS 图表 (log-log)

    我在 Visual Studio 2015 C 中使用 MS Charts 创建了一个具有对数刻度 两个轴 的绘图 见图 我需要在 x 轴上添加更多网格线和相应的标签 我想在 1 2 3 4 和 10 之间以及 10 到 100 20 30
  • 对不受信任(自签名)HTTPS 的 AJAX 调用会默默失败

    我想对使用自签名证书的安全服务器进行 AJAX 调用 在使用我的应用程序的环境中 这很好 我可以向用户提供 CA 证书并让他们在使用应用程序之前安装它 但是 有时 用户会在安装证书之前尝试访问该应用程序 在这些情况下 应用程序会默默地失败
  • 如何将 React 应用程序部署到 Heroku

    我已经使用 React 和 Node js 构建了一个单页天气应用程序 但似乎无法将其部署到 Heroku 到目前为止 我有 在 Heroku 上创建了一个名为 Weather app react node 的新应用程序 在 CLI 上登录
  • 如何在Notepad++中将大写字母转换为小写字母

    我主要使用 Notepad 进行编码 如何将大写字母转换为小写字母 反之亦然 只需选择要更改的文本 右键单击并根据需要选择大写或小写
  • 将 PSD 格式转换为 Gimp 可以读取的格式的方法

    我有一堆 PSD 文件 还有更多 我想将它们转换成我可以使用的格式 我之前曾 一些 成功地使用 Gimp 读取 PSD 但这些文件无法正确读取 有没有办法将 PSD 转换为 XCF 我尝试过 IrfanView 它可以正常显示 PSD 但无
  • 如何在 Python 中将日期时间转换为 UTC 时间戳?

    From http docs python org library time html http docs python org library time html 时间 mktime t 这是 localtime 的反函数 它的论据是 s
  • 使用 numpy.genfromtxt 在 Python 3 中加载 UTF-8 文件

    我有一个从 WHO 网站下载的 CSV 文件 http apps who int gho data view main 52160 http apps who int gho data view main 52160 下载 CSV 格式的多
  • 如何使用 R 编辑或修改或更改大型文本文件中的单行

    我正在使用 R 将一些大型文本文件读入数据库 但它们包含数据库软件的非法字段名称 大型文本文件的列名仅在第一行中 是否可以仅编辑第一行而不循环遍历文件中的每一行 这似乎浪费资源 这是我尝试对一些示例数据执行的操作的两个示例 第一个将所有内容
  • 如何在 Laravel 中使用 SQL Server 连接?

    我有一个用 Laravel 3 制作的工作项目 我必须切换到 MsSQL Server 虽然不是我的电话 嗅探 但我不明白这种数据库类型的 Laravel 配置 我把里面默认的改了database php对此 default gt sqls
  • MPAndroidChart - 向条形图添加标签

    我的应用程序有必要在条形图的每个条形上都有一个标签 有没有办法用 MPAndroidChart 做到这一点 我在项目 wiki javadocs 上找不到执行此操作的方法 如果没有办法做到这一点 是否有其他软件可以让我做到这一点 更新答案