【发布时间】:2019-03-08 21:01:42
【问题描述】:
我有一个数据框df,其中包含以下数据。我想绘制 A 组和 B 组之间基因的logCPM 表达。
Samples Type GeneA
Sample1 B 14.82995162
Sample2 B 12.90512275
Sample3 B 9.196524783
Sample4 A 19.42866012
Sample5 A 19.70386922
Sample6 A 16.22906914
Sample7 A 12.48966785
Sample8 B 15.53280377
Sample9 A 9.345795955
Sample10 B 9.196524783
Sample11 B 9.196524783
Sample12 B 9.196524783
Sample13 A 9.434355615
Sample14 A 15.27604692
Sample15 A 18.90867329
Sample16 B 11.71503095
Sample17 B 13.7632545
Sample18 A 9.793864295
Sample19 B 9.196524783
Sample20 A 14.52562066
Sample21 A 13.85116605
Sample22 A 9.958492229
Sample23 A 17.57075876
Sample24 B 13.04499079
Sample25 B 15.33577937
Sample26 A 13.95849295
Sample27 B 9.196524783
Sample28 A 18.20524388
Sample29 B 17.7058873
Sample30 B 14.0199393
Sample31 A 16.21499069
Sample32 A 14.171432
Sample33 B 9.196524783
Sample34 B 9.196524783
Sample35 B 15.16648035
Sample36 B 12.9435081
Sample37 B 13.81971106
Sample38 B 15.82901231
我尝试使用ggviolin 制作小提琴情节。
library("ggpubr")
pdf("eg.pdf", width = 5, height = 5)
p <- ggviolin(df, x = "Type", y = "GeneA", fill = "Type",
color = "Type", palette = c("#00AFBB", "#FC4E07"),
add="boxplot",add.params = list(fill="white"),
order = c("A", "B"),
ylab = "GeneA (logCPM)", xlab = "Groups")
ggpar(p, ylim = c(5,25))
dev.off()
1) 在这幅图中,我看不到小提琴上的任何胡须和点。
2) 有没有办法显示哪个点是哪个样本?喜欢给点不同的颜色(例如:我对样本 10 感兴趣。我想给那个点赋予不同的颜色,因为我有兴趣看到它的表达方式)
谢谢
【问题讨论】:
-
对于第二个问题,您需要单独添加点,箱线图和小提琴图并非旨在突出单个点;我见过的最接近的是,一些箱线图(尤其是基数 R)可以选择显示异常值的点,但它们除了显示点之外什么都不做。我认为对于所有其他盒子/小提琴功能,您将需要自己明确地绘制点(例如,
geom_point)。 -
你能举一个小提琴图显示点的例子吗?我从未将其视为默认设置,仅作为手动售后添加。
-
不确定如何在
ggpubr中执行此操作,但来自ggstatsplot的ggbetweenstats函数将此作为默认行为:cran.r-project.org/web/packages/ggstatsplot/vignettes/… -
似乎胡须可能从箱线图中“丢失”,因为它们与小提琴图的填充颜色相同。如果您像在
add.params()中将fill一样将颜色设置为常量,您能看到它们吗? -
@r2evans 能否请您使用上述数据帮助我编写一些代码。谢谢
标签: r ggplot2 violin-plot ggpubr