? ? ? ?大家好,我是帶我去滑雪!
? ? ? ?箱線圖是一種用于展示數據分布特征的統計圖表,又稱為盒狀圖或盒須圖。它主要通過一個“箱子”和延伸出的“須”來展示一組數據的中位數、上下四分位數、最大值、最小值以及異常值。箱子的中線表示中位數,上邊緣和下邊緣分別代表上四分位數(Q3)和下四分位數(Q1),而“須”則延伸至數據中非異常的最大值和最小值。任何超出上下“須”范圍的點通常被視為異常值,并以小圓點等形式標出。箱線圖的作用主要體現在能直觀地比較不同數據集的分布情況,包括數據的集中趨勢、離散程度以及是否存在異常值。這種圖形廣泛用于數據分析、科學實驗、質量控制等領域,尤其適用于需要比較多個組別數據時,可以一眼看出哪些數據集偏高、偏低,哪一組數據更穩定或離散程度更大。箱線圖是一種高效的可視化工具,能幫助我們快速掌握數據的總體結構和關鍵特征。
? ? ? ? 現在越來越多的科研論文都在用缺口箱線圖,缺口箱線圖(Notched Box Plot)在展示數據集中趨勢時具有更強的表達能力,特別是在比較不同組之間的中位數差異方面提供了更直觀和統計學上的信息支持。缺口箱線圖最早由約翰·圖基(John Tukey)提出,是對傳統箱線圖的一種改進。在普通箱線圖中,雖然可以看出中位數的位置,但無法判斷不同組的中位數差異是否具有統計顯著性。而缺口箱線圖在箱子的中位數位置引入了“缺口”——即一個收縮的區域,這個缺口的寬度基于中位數的估計標準誤差。如果兩個箱線圖的缺口區域沒有重疊,則可以初步認為這兩組數據的中位數在統計上是顯著不同的。
? ? ? ?這種圖形之所以受到科研人員的歡迎,在作者看來主要有以下幾個優勢。首先,它在可視化中融合了統計推斷的功能,使讀者無需額外計算即可大致判斷組間差異的顯著性;其次,它在圖形簡潔的基礎上增強了解讀深度,特別適合多組數據比較的情境;再次,缺口箱線圖對異常值和離群點仍保留了標示能力,使數據的完整性得以體現。因此,在強調數據可視化與統計解釋并重的當代科研中,缺口箱線圖成為了一個功能豐富、表達精準的優選工具。
? ? ? 下面我們開始代碼實戰。
library(ggplot2)
library(patchwork)
data(mpg)
mpg$class = as.factor(mpg$class)
mpg$class
ggplot(mpg, aes(class, hwy))+stat_boxplot(geom="errorbar",width=0.1,size=0.5) + geom_boxplot(aes(fill=class),color="blue",linewidth=0.5,outlier.color="blue",)p1 <- ggplot(mpg, aes(class, hwy)) +stat_boxplot(geom="errorbar", width=0.1, size=0.5) +geom_boxplot(aes(fill=class),linewidth=0.5,) +theme_bw() +theme(panel.background = element_rect(fill = "transparent", colour = NA),plot.background = element_rect(fill = "transparent", colour = NA),legend.background = element_rect(fill = "transparent", colour = NA),legend.box.background = element_rect(fill = "transparent", colour = NA),legend.position = "none" # 隱藏圖例) +ggtitle('Plot1')p1ggsave(filename = "E:/工作/碩士/boxplot_transparent.pdf",plot = p1,device = cairo_pdf, bg = "transparent",width = 10, height = 8, units = "in"
)save_path_pdf <- "E:/工作/碩士/boxplot.pdf"
p2 <-ggplot(mpg, aes(class, hwy)) +stat_boxplot(geom = "errorbar", width = 0.1, size = 0.5) +geom_boxplot(aes(fill = class),color = "blue",linewidth = 0.5,outlier.color = "blue",outlier.fill = "red") +theme_bw() +theme(panel.background = element_rect(fill = "transparent", colour = NA),plot.background = element_rect(fill = "transparent", colour = NA),legend.background = element_rect(fill = "transparent", colour = NA),legend.box.background = element_rect(fill = "transparent", colour = NA))+ggtitle('Plot2')
p2ggsave(filename = save_path_pdf,plot = p2,device = cairo_pdf,bg = "transparent",width = 10, height = 8, units = "in"
)cat("PDF 保存成功,路徑為:", save_path_pdf)p1+p2ggsave(filename = "E:/工作/碩士/科研/Combination chart.pdf",plot = p1+p2,device = cairo_pdf, # 使用cairo_pdf支持透明bg = "transparent",width = 10, height = 8, units = "in"
)
輸出結果:
更多優質內容持續發布中,請移步主頁查看。
若有問題可郵箱聯系:1736732074@qq.com?
博主的WeChat:TCB1736732074
? ?點贊+關注,下次不迷路!