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

如何用Python或R绘制花瓣式气泡图?附R语言数据示例

实现花瓣状气泡图的简便方法(R语言)

不需要自定义几何图形,用ggplot2配合极坐标就能精准实现花瓣状排列,同时灵活控制气泡尺寸。以下是具体实现步骤:

1. 数据预处理

给每个类别分配极坐标的角度和半径,让气泡均匀分布在圆周(或中心+圆周),形成花瓣布局:

library(ggplot2)

# 原始数据
data <- data.frame(
  category = c("Metabolism", "Lipid metabolism", "AMPK signaling pathway", 
               "PPAR signaling pathway", "Lipid biosynthesis proteins"),
  value = c(37, 17, 8, 6, 6)
)

# 添加极坐标参数:5个类别均匀分布在圆周,角度间隔72°
data$angle <- seq(0, 360 - 360/5, length.out = 5)
# 可选:把数值最大的类别放在中心,其余在圆周,更贴合花朵形态
data$radius <- c(0, 1, 1, 1, 1)
# 若要所有气泡都在圆周,统一设radius=1即可
# data$radius <- 1

2. 绘制花瓣状气泡图

通过geom_point映射气泡大小,结合coord_polar转换为极坐标,同时调整主题简化视觉元素:

ggplot(data, aes(x = angle, y = radius, size = value, label = category)) +
  # 设置气泡样式:颜色、透明度
  geom_point(color = "#f4a261", alpha = 0.9) +
  # 类别标签向外偏移,避免与气泡重叠
  geom_text(nudge_y = 0.25, size = 3.5, color = "#264653") +
  # 控制气泡尺寸范围,避免过大/过小
  scale_size(range = c(6, 20)) +
  # 转换为极坐标,顺时针排列
  coord_polar(theta = "x", direction = -1) +
  # 移除多余的背景、坐标轴
  theme_void() +
  # 隐藏图例(若不需要)
  theme(legend.position = "none")

关键参数说明

  • angle:通过均匀分配角度值,实现气泡的圆周对称排列,保证花瓣布局的规整性
  • scale_size:自定义气泡尺寸的上下限,根据数据范围调整,避免气泡过大覆盖标签或过小不明显
  • coord_polar:将直角坐标转换为极坐标,是实现花瓣排列的核心
  • nudge_y:调整标签的偏移量,确保标签清晰显示在气泡外侧

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 05:03:19