作图

复现NC图表:别具一格小提琴图的绘制

2022-11-12  本文已影响0人  KS科研分享与服务

很久没有复现作图了,今天我们复现一篇NC文章中的一个小图,是一个小提琴图。小提琴图之前我们做过很多了,这个小提琴图却是有一点别具一格,主要在于显示中位数与sd的形式上。
原文链接:
https://www.nature.com/articles/s41467-022-32283-3/figures/2要复现的图(左)与我们复现的结果(右)如下:

image.png

本文所用到的数据和注释代码已上传群文件!!!更多精彩内容请至我的公众号---KS科研分享与服务
接下来正式作图,前期比较中规中矩,修改颜色,stat_summary函数设置不同展示形式的小提琴图!


setwd("D:/KS项目/公众号文章/复现NC小提琴图")
A <- read.csv("C30.csv", header = T)
library(ggplot2)
colorder = c('#1A9E76','#D95F02')
ggplot(A,aes(x=cluster,y=value,fill=cluster))+
  geom_violin(width =0.8,color='black',size=1)+
  theme_classic() + 
  theme(text = element_text(size=10, colour = "black")) + 
  theme(plot.title = element_text(hjust = 0.5, size = 15),
        axis.text.x = element_text(colour = "black", size = 12),
        axis.text.y = element_text(colour = "black", size = 10),
        axis.title.y = element_text(color = 'black', size = 12),
        axis.line = element_line(size = 1))+ 
  labs(title = "", y = "Inferred abundance (C30)", x=" ") + 
  theme(legend.position="none") +  
  stat_summary(fun.data = "mean_sdl",  fun.args = list(mult = 1), 
               geom = "pointrange", color = "black", size=1)+
  scale_fill_manual(values = colorder)
image.png

做到这里,并不是我们这篇推文的目的,我们推文每一篇力求涉及一个小知识点,大家多个帖子看的多了,互通有无,互相总结,大多数内容使用起来也就得心应手了!可以看到,x轴标签和原文图不一样。这也正是我们要学习的:修改x轴标签和上标的问题。


ggplot(A,aes(x=cluster,y=value,fill=cluster))+
  geom_violin(width =0.8,color='black',size=1)+
  theme_classic() + 
  theme(text = element_text(size=10, colour = "black")) + 
  theme(plot.title = element_text(hjust = 0.5, size = 15),
        axis.text.x = element_text(colour = "black", size = 12),
        axis.text.y = element_text(colour = "black", size = 10),
        axis.title.y = element_text(color = 'black', size = 12),
        axis.line = element_line(size = 1))+ 
  labs(title = "", y = "Inferred abundance (C30)", x=" ") + 
  theme(legend.position="none") + 
  stat_summary(fun.data = "mean_sdl",fun.args = list(mult = 1), 
               geom = "pointrange", color = "black", size=1)+
  scale_fill_manual(values = colorder)+
  scale_x_discrete(labels=c(expression(TLS^"low"),
                            bquote(TLS^"high")))
image.png
image.png

这样就完美复现了,至于统计分析和添加显著性,这里就不说了,之前大量推文涉及这个问题,可自行学习!

上一篇下一篇

猜你喜欢

热点阅读