You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在R语言ggplot2中如何将图例文本修改为百分比格式

在ggplot2中可以通过调整对应映射的比例尺labels参数实现图例百分比格式化,针对你提供的热图示例,两种常用实现方案如下:

原效果参考:
如何将图例文本修改为百分比格式

方案1:使用scales包内置格式化函数

scales属于tidyverse的依赖包,无需额外安装,可直接调用percent()函数快速实现百分比格式化,支持自定义精度:

library(tidyverse)

plot_data <- data.frame(category=letters,data_seq=c(1:length(letters)),
                        value=rnorm(length(letters))/10)

plot_data %>% ggplot(aes(x=data_seq,y=category,fill=value))+
  geom_tile() +
  # accuracy参数控制百分比保留的小数位数,设为1即保留整数,设为0.1即保留1位小数
  scale_fill_continuous(labels = scales::percent(accuracy = 1))

方案2:自定义格式化函数

如果不想依赖scales的封装函数,也可以自定义转换规则:

plot_data %>% ggplot(aes(x=data_seq,y=category,fill=value))+
  geom_tile() +
  # 自定义转换逻辑:数值*100后拼接百分号
  scale_fill_continuous(labels = function(x) paste0(x * 100, "%"))

注:如果你的原始数值本身已经是百分比量级(例如数值10对应10%),只需要去掉代码中的*100逻辑即可。

内容的提问来源于stack exchange,提问作者anderwyang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 07:54:01