如何移除scRNA-seq归一化表达数据小提琴图中的水平短线?
如何移除scRNA-seq归一化表达数据小提琴图中的水平短线?
嘿,你好呀!刚看完你的问题和代码,一下子就找到问题根源啦——那些你想去掉的小水平短线,其实是你代码里的geom_errorbar()函数生成的哦!
你看这段代码:
geom_errorbar( aes(ymin=value, ymax=value), width=.2, position=position_dodge(.9))
这里你把ymin和ymax都设成了value,相当于给每个单细胞的表达值都画了一条长度为0的误差线,也就是你看到的那些小短横。
解决方法超简单,直接把这段geom_errorbar()的代码删掉就可以啦!修改后的完整代码如下:
data.df <- sc.long.hiv@meta.data[, c("seurat_clusters", "group_main")] data.df["value"] <- sc.long.hiv$SCT@data["IFNG", ] data.df <- data.df %>% mutate(group = paste(seurat_clusters, group_main, sep=":")) data.df.2 <- data.df %>% group_by(group) X <- str_split(data.df.2$'group', ":", 2, simplify=TRUE) data.df.2$'seurat_clusters' <- X[, 1] data.df.2$'group_main' <- X[, 2] p <- data.df.2 %>% ggplot(aes(fill=group_main, y=value, x=seurat_clusters, color=group_main)) + scale_color_manual(values = c("#17606D", "#AA1628"))+ geom_violin( position="dodge", stat = "ydensity", width=1) + scale_fill_manual(values = c("#17606D", "#AA1628")) + theme_classic() + xlab('Cluster') + ylab('Normalized Gene Expression')
运行这段修改后的代码,你就能得到干净的小提琴图,不会再有那些小短线啦!如果之后你想添加比如各组的均值线或者统计显著性标记,再考虑用geom_errorbar(这时候要正确设置ymin/ymax为均值±标准差之类的)或者其他geom函数就好~
备注:内容来源于stack exchange,提问作者Rachel Pearson
相关产品推荐
相关产品推荐

