美文网首页
科研绘图模板之小提琴图

科研绘图模板之小提琴图

作者: Bioinfor生信云 | 来源:发表于2024-01-23 18:45 被阅读0次

小提琴图(Violin Plot)是一种数据可视化图表,它结合了箱线图和核密度图的特点,用于展示数据分布和概率密度。小提琴图通常用于比较多个组或类别之间的数据分布,以及观察单个变量的分布情况。

以下是小提琴图的主要组成部分和特点:

  1. 小提琴形状: 小提琴图的主体部分是一组垂直排列的“小提琴”形状,每个小提琴代表一个数据组或类别。小提琴的宽度反映了数据在该位置的密度,较宽的部分表示更多的数据点。

  2. 箱线图: 每个小提琴图的中间部分通常包含一个箱线图,用于显示数据的中位数、四分位数和可能的异常值。这有助于了解数据的集中趋势和离散程度。

  3. 核密度估计曲线: 小提琴图的两侧是核密度估计曲线,用于展示数据分布的概率密度。这些曲线帮助观察数据的整体形状,并识别可能存在的多个峰值。

  4. 数据点: 有时,小提琴图上会显示实际数据点,以更清晰地表示个别数据值。

小提琴图适用于以下情况:

  • 比较分布: 可以用小提琴图比较多个组或类别之间的数据分布,以识别差异或相似性。

  • 观察整体形状: 核密度估计曲线有助于观察数据的整体形状,识别分布的模式和趋势。

  • 检测离群值: 箱线图部分可以帮助检测可能的异常值。

小提琴图在数据分析和可视化中广泛应用,特别是在统计学和数据科学领域,以提供对数据分布和变异性的更全面的理解。

示例

ggplot(iris, aes(Species, Sepal.Length)) +
  geom_violin(aes(fill = Species)) +
  geom_boxplot(width = 0.1) +
  geom_point(size = 0.5,
             position = position_jitter(width = 0.15)) + 
  geom_signif(comparisons = list(c("setosa", "versicolor"), 
                                 c("versicolor", "virginica")),
              map_signif_level = T,
              y_position = c(7.3, 8.2)) +
  scale_fill_npg() +
  xlab('') +
  theme_classic()

解释各部分:

  1. ggplot(iris, aes(Species, Sepal.Length)): 创建一个ggplot对象,指定数据集为iris,x轴为Species,y轴为Sepal.Length

  2. geom_violin(aes(fill = Species)): 添加小提琴图,按照Species进行填充色彩。

  3. geom_boxplot(width = 0.1): 添加箱线图,用于显示数据的中位数、四分位数和可能的异常值。

  4. geom_point(size = 0.5, position = position_jitter(width = 0.15)): 添加散点图,使用抖动(jitter)来避免点的重叠。

  5. geom_signif(comparisons = list(c("setosa", "versicolor"), c("versicolor", "virginica")), map_signif_level = T, y_position = c(7.3, 8.2)): 添加统计学显著性标记,比较setosa和versicolor以及versicolor和virginica。y_position参数设置标记的位置。

  6. scale_fill_npg(): 设置填充颜色的调色板,这里使用了NPG(Nature Publishing Group)样式,具体样式可以根据需要更改。

  7. xlab(''): 将x轴标签设为空。

  8. theme_classic(): 使用经典的主题风格。

这段代码综合使用了小提琴图、箱线图和散点图,通过可视化展示鸢尾花不同种类的萼片长度分布,同时添加了统计学显著性标记以强调差异。

相关文章

网友评论

      本文标题:科研绘图模板之小提琴图

      本文链接:https://www.haomeiwen.com/subject/acsjodtx.html