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

如何在R语言中复现目标分布图?已尝试ggridges未达预期效果

解决方案:复现灰色背景类别点图

你要复现的这种每个类别带灰色横向背景、对应x轴分布点的图表,不需要用ggridges(它主打山脊密度可视化),直接用ggplot2的基础图层就能实现,步骤如下:

核心思路

  • 用geom_tile给每个y轴类别绘制灰色背景条
  • 用geom_point绘制竖线形状的点,匹配目标图样式
  • 调整主题细节,去掉冗余元素

示例代码

library(ggplot2)

ggplot(significant_genes_df, aes(y = TF_variant)) +
  # 绘制灰色背景条,覆盖每个y类别的横向区域
  geom_tile(aes(x = 0, width = Inf, height = 0.8), 
            fill = "#e0e0e0", color = NA, alpha = 0.8) +
  # 绘制竖线形状的点,对应mean_LFC值
  geom_point(aes(x = mean_LFC), shape = "|", size = 3, color = "black") +
  # 坐标轴设置,和你的原代码对齐
  scale_y_discrete(expand = c(0, 0)) +
  scale_x_continuous(expand = c(0, 0), name = "mean Log2 Fold Change") +
  ggtitle("Prolif 3 CD8 Day15/Day0") +
  # 调整主题,去掉背景网格,简化样式
  theme_minimal() +
  theme(
    panel.grid = element_blank(),
    plot.title = element_text(hjust = 0.5),
    axis.title.y = element_blank()
  )

代码说明

  • geom_tile的width = Inf让背景条铺满整个x轴范围,height = 0.8控制背景条高度,避免和相邻类别重叠
  • 如果点存在重叠需要抖动,给geom_point加上position = position_jitter(width = 0.1, height = 0)即可
  • 背景色、点的大小颜色都可以根据目标图自行调整

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 11:52:14