今天的推文繼續學習A single-cell atlas of the peripheral immune response in patients with severe COVID-19論文中的代碼。今天推文的主要內容是介紹如何使用R語言繪製散點圖並且添加擬合曲線和置信區間
這篇論文是在簡書 土豆學生信 分享的內容看到的。簡書的連結是 https://www.jianshu.com/p/bbf9cb13b41a
論文是
image.png論文對應的代碼是公開的 https://github.com/ajwilk/2020_Wilk_COVID
image.png今天重複的內容是論文中的 補充材料Fig9 小提琴圖
image.png數據格式如下
image.png需要示例數據可以直接在文末留言
首先是讀入數據df<-read.csv("Single_Cell/violineplot-1.csv",header=T)
colnames(df)
head(df)
最基本的小提琴圖library(ggplot2)
#help(package="ggplot2")
ggplot(df,aes(x=cell.type,y=Complexity))+
geom_violin()
image.png更改主題設置,包括ggplot(df,aes(x=cell.type,y=Complexity))+
geom_violin()+
theme(panel.grid = element_blank(),
panel.background = element_blank(),
axis.line = element_line())
image.png將x軸文字標籤更改為垂直ggplot(df,aes(x=cell.type,y=Complexity))+
geom_violin()+
theme(panel.grid = element_blank(),
panel.background = element_blank(),
axis.line = element_line(),
axis.text.x = element_text(angle=90,hjust = 1,vjust=0.5))
image.png更改坐標軸的標題,並給整幅圖添加一個標題ggplot(df,aes(x=cell.type,y=Complexity))+
geom_violin()+
theme(panel.grid = element_blank(),
panel.background = element_blank(),
axis.line = element_line(),
axis.text.x = element_text(angle=90,hjust = 1,vjust=0.5),
plot.title = element_text(hjust=0.5))+
labs(x=NULL,
y=NULL,
title = "Complexity")
image.png填充顏色ggplot(df,aes(x=cell.type,y=Complexity))+
geom_violin(aes(fill=cell.type),show.legend = F)+
theme(panel.grid = element_blank(),
panel.background = element_blank(),
axis.line = element_line(),
axis.text.x = element_text(angle=90,hjust = 1,vjust=0.5),
plot.title = element_text(hjust=0.5))+
labs(x=NULL,
y=NULL,
title = "Complexity")
image.png疊加散點圖ggplot(df,aes(x=cell.type,y=Complexity))+
geom_violin(aes(fill=cell.type),show.legend = F)+
theme(panel.grid = element_blank(),
panel.background = element_blank(),
axis.line = element_line(),
axis.text.x = element_text(angle=90,hjust = 1,vjust=0.5),
plot.title = element_text(hjust=0.5))+
labs(x=NULL,
y=NULL,
title = "Complexity")+
geom_jitter(size=0.5)
image.png這樣的話論文中的圖就復現出來了。上圖疊加的散點圖是矩形的,最近看到一個函數geom_sina()可以讓散點圖也以小提琴的形狀顯示,我們試一下用這個函數的效果,這個函數來自ggforce這個包,使用前需要先加載
library(ggforce)
ggplot(df,aes(x=cell.type,y=Complexity))+
geom_violin(aes(fill=cell.type),show.legend = F)+
theme(panel.grid = element_blank(),
panel.background = element_blank(),
axis.line = element_line(),
axis.text.x = element_text(angle=90,hjust = 1,vjust=0.5),
plot.title = element_text(hjust=0.5))+
labs(x=NULL,
y=NULL,
title = "Complexity")+
geom_sina(size=0.1,alpha=0.2)
image.png這樣看起來比論文中的圖好像好看一點
歡迎大家關注我的公眾號
小明的數據分析筆記本
公眾號二維碼.jpg