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

R语言ggplot2气泡图编辑:大小、颜色、标签及图例优化

ggplot2气泡图优化实现

针对你提出的三个编辑需求,下面是具体的解决方案和完整代码:

需求1:为气泡添加出现频率标签

使用geom_text()配合stat = "count",通过after_stat(n)获取每个气泡的频率值,同时用nudge_x/nudge_y微调标签位置,避免和气泡重叠。

需求2:修改配色、主题并调整气泡大小

  • 调整气泡大小:用scale_size_continuous()设置range参数,指定气泡的最小/最大尺寸,这里沿用你之前尝试的c(1,20)范围即可
  • 修改配色:可以用scale_color_viridis_c()(自带的渐变配色,美观且对色盲友好),或者自定义渐变的scale_color_gradient()
  • 优化主题:用预设主题如theme_bw()做基础,再叠加你之前的自定义文本样式

需求3:修改图例标题

在scale_size_continuous()和scale_color_continuous()中通过name参数统一修改图例标题,替换默认的"n"


完整优化代码

# 加载包
library(ggplot2)

# 绘制优化后的气泡图
p <- ggplot(Dataframe, aes(x = Confidence, y = Knowledge)) +
  # 气泡层:用after_stat(n)映射颜色和大小
  geom_count(aes(color = after_stat(n), size = after_stat(n))) +
  # 添加频率标签:stat="count"获取次数,调整位置避免重叠
  geom_text(stat = "count", aes(label = after_stat(n)), 
            nudge_x = 0.1, nudge_y = 0.1, size = 4) +
  # 调整气泡大小范围,修改图例标题
  scale_size_continuous(range = c(1, 20), name = "共现次数") +
  # 设置渐变配色,修改图例标题(和size保持一致)
  scale_color_viridis_c(name = "共现次数") +
  # 坐标轴标签设置
  labs(x = "Confidence", y = "Knowledge") +
  # 主题优化:用theme_bw()做基础,叠加自定义文本样式
  theme_bw() +
  theme(axis.title = element_text(size = 15, colour = "black"),
        axis.text = element_text(colour = "black", size = 12),
        # 可选:调整图例位置,比如放在右侧
        legend.position = "right")

# 输出图表
print(p)

补充说明

  • 如果想要自定义配色,比如从浅蓝到深红的渐变,可以把scale_color_viridis_c()替换为:
    scale_color_gradient(low = "lightblue", high = "darkred", name = "共现次数")
    
  • 标签的位置可以根据你的数据分布调整nudge_x和nudge_y的值,确保标签清晰不遮挡气泡

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 03:15:09