寫(xiě)在前面:
定義:Violin plot,和Boxplot(箱線圖)一樣熊镣,也是一種用作顯示一組數(shù)據(jù)分散情況資料的統(tǒng)計(jì)圖据块,其形狀類(lèi)似小提琴。它主要用于反映原始數(shù)據(jù)分布的特征兽肤,還可以進(jìn)行多組數(shù)據(jù)分布特征的比較套腹。
解讀:
小提琴圖是【箱線圖】與【核密度圖】的結(jié)合,箱線圖展示了分位數(shù)的位置资铡,核密度圖則展示了任意位置的密度电禀,通過(guò)小提琴圖可以知道哪些位置的數(shù)據(jù)點(diǎn)聚集的較多,因其形似小提琴而得名笤休。如下圖所示尖飞,其外圍的曲線寬度代表數(shù)據(jù)點(diǎn)分布的密度,中間的箱線圖則和普通箱線圖表征的意義是一樣的店雅,代表著中位數(shù)政基、上下分位數(shù)、極差等闹啦。
與普通箱線圖相比沮明,小提琴圖更能反應(yīng)數(shù)據(jù)整體的分布情況(密度變化)
四分位間距:就是你數(shù)據(jù)整體(從小到大)分為四份,這樣你就有三個(gè)四分位數(shù)(Quartile)了窍奋,第三四分位數(shù)?第一四分位數(shù)的差值就是四分位間距(InterQuartile Range, IQR),簡(jiǎn)稱(chēng)四分位距珊擂。他的特點(diǎn)是不收 極大值或者是極小值的影響,常用于描述非正態(tài)分布資料的離散程度费变,數(shù)值越大摧扇,其變異度越大,反之挚歧,變異度越小扛稽。理論上,IQR可以是任何正值滑负。
數(shù)據(jù)準(zhǔn)備:
R代碼:
install.packages("ggplot2")
install.packages("ggpubr")
library(ggpubr)
#讀取
rt <- read.delim("input.txt")
#更改X軸順序
rt$Stage <- factor(rt$Stage, levels = c("Stage I" , "Stage II" , "Stage III", "Stage IV"))
unique(rt$Stage)
#作圖
p <- ggviolin(rt,
x="Stage", #x軸內(nèi)容
y="SEMA3A", #y軸內(nèi)容
fill = "Stage",
width = 1, #小提琴圖的寬度
add = "boxplot",
add.params = list(fill="white"))+
stat_compare_means(method = "wilcox.test", #t.test wilcox.test anova kruskal.test
comparisons = list(c("Stage I" , "Stage II"),
c("Stage I", "Stage III"),
c("Stage I" , "Stage IV"),
c("Stage II", "Stage III"),
c("Stage II", "Stage IV"),
c("Stage III", "Stage IV")))+
labs(x = "", y = "Expression of SEMA3A")+
theme(legend.position = "none")
p
#將圖片分別保存為pdf和png格式
ggsave("小提琴圖1.pdf",p,width = 6,height = 4.5)
ggsave("小提琴圖1.png",p,width = 6,height = 4.5)
效果:
效果展示