pythonic生物人

再更新10个章节,《保姆级R可视化教程4.0》来了!

更新后,《保姆级R可视化教程4.0》共计59个章节。

本次更新10个章节,通过复现Nature、Science、Nature Microbiology、nature communications等10篇顶级期刊中的多张图表,进一步掌握R可视化这个小技能!

部分内容,

3层Sankey Diagram

......
ggplot(
  df_alluvial,
  aes(
    x        = layers,        # 横轴:层级
    stratum  = regions,       # 节点类别
    alluvium = alluvium,      # 流向 ID
    y        = value,         # 流量大小
    fill     = regions,       # 按类别填充颜色
    label    = regions        # 节点标签
  )
) +
# 设置层级顺序与间距
  scale_x_discrete(
    limits = c("layer1", "layer2", "layer3"),
    labels = c("Layer 1", "Layer 2", "Layer 3"),
    expand = c(0.1, 0)
  ) +
# 绘制流向
  geom_flow(
    width = 1/4,
    alpha = 0.6
  ) +

......

ImageImageImage

用于可视化不同节点间流动关系的图表,通过宽度不一的流动带直观表示数量大小,展示从一个状态到另一个状态的转移或分布过程。其特点是起始流量与结束流量相等,主支和分支的宽度总和保持平衡,体现能量守恒。流动带的宽度按比例反映分支流量占比,不同节点的宽度则对应特定状态下的流量规模,类似于能量守恒定律。


极坐标堆叠柱状图

......
# 堆叠柱状图
  geom_rect(data = data_final,
            aes(xmin = id - 0.4, xmax = id + 0.4, 
                ymin = base, ymax = height, fill = VLM_Category),
            color = "black", size = 0.2, alpha = 1) +  # 添加黑色边框,增加透明度
# 数值标签
  geom_text(data = label_data,
            aes(x = id, y = mid_height, label = label_value),
            size = 2, color = "black",  vjust = 0.5) +
# 样本名称标签 - 移动到柱子正上方,保持角度计算
  geom_text(data = sample_label_data,

......
Image

一张全球主要河流三角洲的垂直地面运动(VLM)分布极坐标堆叠柱状图。展示40个全球主要河流三角洲(如亚马逊河、长江、尼罗河等)在4个不同VLM速率区间内的面积百分比分布:

  • 外层标签,40个具体的河流三角洲
  • 内层标签,5个洲(NA-北美洲、SA-南美洲、Europe-欧洲、Africa-非洲、Asia-亚洲)
  • 颜色,4个VLM速率类别

分面图+分组图+Spearman秩相关系数+假设检验的p值

......
      legend.position = "none",
      panel.border = element_rect(color = "gray70", fill = NA, size = 0.8),
      plot.title = element_text(size = 16, face = "bold", hjust = -0.05)
    ) +
    coord_cartesian(clip = "off")

return(p)
}

# 创建两个图形
figa <- create_plot("EDF5a", "a")
figb <- create_plot("EDF5b", "b")

# 使用patchwork的design参数精确控制布局
# 定义布局设计:A代表figa,B代表figb,#代表空白
layout_design <- "
AAAAA
BBBB#
"


# 应用自定义布局
combined_plot <- figa + figb + 
  plot_layout(design = layout_design, heights = c(1, 1))

# 显示组合图形
print(combined_plot)
Image
  • 每个子图中添加分组散点图(Control为绿色、SCZ为红色);
  • 每个子图添加整体数据(All)的趋势线+置信区间(灰色阴影);
  • 每个子图添加统计结果标签Spearman秩相关系数(ρ)、假设检验的p值(p),每组标签按分组设置颜色(All组标签为灰色,Control组标签为绿色、SCZ组标签为红色);

分面图+分组图+Wilcoxon秩和检验p值

......
# 添加统计显著性标注
  stat_pvalue_manual(
    statistical_test, 
    hide.ns = FALSE,
    label = "p.adj.short"
  ) +
# 设置坐标轴标签
  labs(
    x = "RCB class",
    y = "Predictor score"
  ) +
# 应用自定义颜色
  create_custom_fill_scale() +
# 修改x轴刻度标签
  scale_x_discrete(
    breaks = c("pCR", "RCB-I", "RCB-II", "RCB-III"),
    labels = c("pCR", "I", "II", "III")
  ) +
# 移除图例
  guides(fill = "none") +
# 设置主题
  theme_bw(base_size = 16) +

......
Image
  • 箱线图显示了六个模型在训练集(training,第一行,n = 147例)和验证集(validation,第二行,n = 75例)中,跨越不同RCB类别所获得的预测因子评分的分布情况。
  • 箱体部分表示四分位距,其中的中线为中位数,须线延伸至箱体外部最大为四分位距1.5倍的范围,异常值以圆点表示。P值为双侧检验结果,并经过FDR校正的Wilcoxon秩和检验得到。

分组图+半小提琴图+箱线图+抖动散点图

.......
# 半小提琴图层
  geom_flat_violin(
    adjust = 1.5, 
    trim = TRUE, 
    alpha = 0.5, 
    size = 0.3, 
    position = position_nudge(x = 0.2, y = 0)
  ) +
# 散点图层(抖动处理)
  geom_point(
    alpha = 0.2, 
    show.legend = FALSE, 
    size = 1.5, 
    shape = 20,
.......
Image

该图结合了半小提琴图、箱线图和抖动散点图的复合图表,用于直观展示和比较不同样本培养阳性天数下(2~5天),saliva样本的Ct值和nasal样本的CN值的分布情况。


加入学习,备注:299

图片
👉更新后共计59个章节,数百张图,旨在引导如何系统学习R语言可视化,部分展示如下:
图片

图片
复现效果图-abcd图❤️
复现效果图-b图❤️
图片
❤️复现效果图-ABCD图❤️
图片
❤️复现效果图-bcd图❤️
图片
图片
❤️复现效果图-b图❤️
图片
图片
图片
图片
图片
图片
图片
图片
图片
图片

图片

图片
图片
图片

(加入学习,收费,备注:299)

图片