问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

R语言绘制散点小提琴图:从基础到进阶

创作时间:
作者:
@小白创作中心

R语言绘制散点小提琴图:从基础到进阶

引用
CSDN
1.
https://blog.csdn.net/kanghua_du/article/details/137408976

本文将介绍如何使用R语言绘制散点小提琴图。这种图表类型常用于展示数据的分布情况,特别是在生物信息学领域。本文将以一个来自Nature期刊的真实数据集为例,详细讲解绘制过程。

数据准备

首先,我们需要导入所需的R包和数据。

library(tidyverse)
library(readxl)
library(ggsci)
library(viridis)
library(RColorBrewer)

df_data <- read_excel("data_input.xlsx", sheet = "Sheet1")
head(df_data, 10)

绘图步骤

接下来,我们将逐步构建散点小提琴图。

  1. 设置主题
theme_clean <- function(){
  theme_bw() %+replace%    
    theme(
      panel.grid = element_blank(),
      strip.background = element_blank()
    )
}
  1. 绘制基础图形
p1 <- ggplot(df_data, aes(x = visit, y = shannon, color = visit, fill = visit)) +
  geom_violin()
  1. 添加散点
p2 <- p1 +
  geom_jitter(width = 0.2, size = 0.9) +
  scale_color_viridis(end = 0.8, discrete = TRUE)
  1. 设置颜色
p3 <- p2 +
  scale_fill_viridis(end = 0.8, discrete = TRUE, alpha = 0.5)
  1. 进一步参数修改
final_plot <- p3 +
  scale_y_continuous(limits = c(0, 7)) +
  guides(color = "none") +
  theme_clean() +
  labs(
    x = "",
    y = "Shannon diversity"
  )

完整代码

以下是完整的绘图代码:

pdf("202405散点小提琴图.pdf", width = 6, height = 4)
ggplot(df_data, aes(x = visit, y = shannon, color = visit, fill = visit)) +
  geom_violin() +
  geom_jitter(width = 0.2, size = 0.9) +
  scale_color_viridis(end = 0.8, discrete = TRUE) +
  scale_fill_viridis(end = 0.8, discrete = TRUE, alpha = 0.5) +
  scale_y_continuous(limits = c(0, 7)) +
  guides(color = "none") +
  theme_clean() +
  labs(
    x = "",
    y = "Shannon diversity"
  )
dev.off()

扩展:绘制箱线图

如果你对箱线图更感兴趣,可以使用以下代码:

ggplot(df_data, aes(x = visit, y = shannon, color = visit, fill = visit)) +
  geom_boxplot()

总结

通过本文,你学会了如何使用R语言绘制散点小提琴图。这种图表类型在展示数据分布时非常有效,特别是在生物信息学领域。希望这篇文章对你有所帮助!

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号