R語言繪製箱線圖示例

2022-02-02 小白魚的生統筆記

  

R啟動時默認加載了boxplot()命令,可用於繪製箱線圖。我們使用boxplot()繪製箱線圖展示chao1指數在c分組中的分布,如下示例。

##boxplot() 箱線圖,詳情使用 ?boxplot 查看幫助
par(mfrow = c(1, 2))

#常規樣式
boxplot(value~group2, data = alpha3, col = '#f8766d', ylab = 'Chao1 (group c)')

#根據數據分布,添加凹槽
boxplot(value~group2, data = alpha3, col = '#f8766d', notch = TRUE, varwidth = TRUE, ylab = 'Chao1 (group c)')

ggplot2功能強大自然不必多說,以下繼續展示使用ggplot2繪製箱線圖的示例。

##ggplot2
library(ggplot2)

#單變量箱線圖
ggplot(alpha3, aes(x = group2, y = value)) +
geom_boxplot(outlier.size = 1, fill = '#f8766d') +
theme(panel.grid = element_blank(), panel.background = element_rect(fill = 'transparent', color = 'black')) +
labs(x = '', y = 'Chao1')

#將各數據值以抖動散點的方式添加在箱線圖中,同時繪製凹槽
ggplot(alpha3, aes(x = group2, y = value, fill = group1)) +
geom_boxplot(fill = '#f8766d', notch = TRUE) +
geom_jitter(color = 'red', show.legend = FALSE) +
theme(panel.grid = element_blank(), panel.background = element_rect(fill = 'transparent', color = 'black')) +
labs(x = '', y = 'Chao1 (group c)')

#存在多分組時,多組分開展示的箱線圖
ggplot(alpha2, aes(x = group2, y = value, fill = group1)) +
geom_boxplot(outlier.size = 1) +
theme(panel.grid = element_blank(), panel.background = element_rect(fill = 'transparent', color = 'black'), legend.title = element_blank(), legend.key = element_blank()) +
labs(x = '', y = 'Chao1')

#多變量情況,添加分面的箱線圖
ggplot(alpha1, aes(x = group2, y = value, fill = group1)) +
geom_boxplot(outlier.size = 0.5, size = 0.5) +
facet_wrap(~variable, 2, scales = 'free') +
theme(panel.grid = element_blank(), panel.background = element_rect(fill = 'transparent', color = 'black'), legend.title = element_blank(), legend.key = element_blank()) +
labs(x = '', y = 'Chao1')

#帶顯著性標記「*」的箱線圖
#先繪製箱線圖主體
p <- ggplot(data = alpha2, aes(x = group2, y = value, fill = group1)) +
geom_boxplot(outlier.size = 1) +
theme(panel.grid = element_blank(), panel.background = element_rect(fill = 'transparent', color = 'black'), legend.title = element_blank(), legend.key = element_blank()) +
labs(x = '', y = 'Chao1')

#再手動添加顯著性標記
#注意,這裡的顯著性是提前已經計算好的,我們通過手動輸入進來
#本篇只關注作圖,不涉及統計分析
library(doBy)

alpha2_stat <- summaryBy(value~group2, alpha2, FUN = max)
names(alpha2_stat) <- c('group2', 'value')
alpha2_stat$group1 <- NA
alpha2_stat$sig <- rep('***', 5)

p + geom_text(data = alpha2_stat, aes(label = sig), vjust = -0.3) +
annotate('text', x = alpha2_stat$group2, y = alpha2_stat$value, label = '———', vjust = -0.3)

#帶顯著性標記「abc」的箱線圖,
#先繪製箱線圖主體
p <- ggplot(data = alpha1, aes(x = group2, y = value, fill = group1)) +
geom_boxplot(outlier.size = 0.5, size = 0.5) +
facet_wrap(~variable, 2, scales = 'free') +
theme(panel.grid = element_blank(), panel.background = element_rect(fill = 'transparent', color = 'black'), legend.title = element_blank(), legend.key = element_blank()) +
labs(x = '', y = 'Chao1')

#再手動添加顯著性標記
#同上所述,這裡的顯著性是提前通過差異分析已經計算好的,我們通過手動輸入進來
alpha1_stat <- summaryBy(value~group1+group2+variable, alpha1, FUN = max)
names(alpha1_stat) <- c('group1', 'group2', 'variable', 'value')
alpha1_stat$sig <- c('a', 'a', 'a', 'a', 'b', 'a', 'b', 'a', 'b', 'a', 'b', 'a', 'b', 'a', 'b', 'a', 'b', 'a', 'b', 'a', 'a', 'b', 'b', 'a', 'b', 'c', 'c', 'b', 'a', 'a', 'b', 'a', 'a', 'a', 'b', 'a', 'a', 'a', 'a', 'a')

p + geom_text(data = alpha1_stat, aes(label = sig, color = group1), position = position_dodge(1), vjust = -0.3)

好了,以上就是本篇的內容,大致簡介了幾種簡單的箱線圖在R中的繪製示例,以幫助剛接觸R的同學們入門,get到了嗎?

相關焦點

  • R語言中使用boxplot函數繪製箱線圖
    箱線圖簡介箱線圖又稱箱形圖或盒須圖,該圖是由5個特徵值繪製而成的圖形。5個特徵值是變量的最大值、最小值、中位數、第1四分位數和第3四分位數。連接兩個分位數畫出一個箱子,箱子用中位數分割,把兩個極值點與箱子用線條連接,即成箱線圖。
  • ggplot2繪製箱線圖
    第七十五題 2021年2月3日ggplot2繪製箱線圖A boxplot gives a nice summary of one or more numeric variables.
  • ggplot2|從0開始繪製箱線圖
    箱線圖能夠顯示出離群點(outlier),通過箱線圖能夠很容易識別出數據中的異常值。本文利用R語言的ggplot2包,從頭帶您繪製各式各樣的箱線圖。) #查看數據集 len supp dose1 4.2 VC 0.52 11.5 VC 0.53 7.3 VC 0.54 5.8 VC 0.55 6.4 VC 0.56 10.0 VC 0.51)geom_boxplot繪製基本的箱線圖使用ToothGrowth數據集,dose變量為分類橫坐標,對len變量做箱線圖
  • 箱線圖的幾種畫法-Python
    在本文中,我們將使用 python 使用 seaborn 實現水平箱線圖。水平箱線圖Seaborn 使用 boxplot() 方法繪製箱線圖。我們可以通過兩種方法將箱線圖變成水平箱線圖,我們需要切換x和y屬性並將其傳遞給boxplot()方法,另一種是使用orient="h"選項傳遞給boxplot() 方法。
  • 箱線圖中的極端值為什麼刪除後還是會存在?
    中,我們介紹了去除箱線圖中所顯示的異常值的方法,也介紹了箱線圖是根據什麼原理去標識數據當中的異常值的。如果你自己動手嘗試過上一篇文章所述方法,那麼你可能發現了一個問題:為什麼我剔除了異常值,再次繪製箱線圖,仍然會出現極端值?
  • R可視化:基於ggplot2等輕鬆搞定散點+箱線圖
    R(4.1.0版本)語言和Rstudio(1.1.1717版本)R語言和Rstudio軟體,公眾號後臺回復 R語言安裝 獲安裝程序。environment = parent.frame()) + # 要注意這裡只是先映射函數,所以還不出圖,需要畫什麼類型的圖需要加上下面的函數才能成圖#######################geom_boxplot(  mapping = NULL, # 需要映射的數據(同上)  data = NULL, # (同上)  stat = "boxplot", # 繪製箱型圖
  • R語言 | R語言繪製抖動散點圖和蜂群圖
    除了R語言作圖外,本文還比較了二者各自的特點,並在最後簡單列舉了它們與其它類型的統計圖如箱線圖、提琴圖等的區別和聯繫,以及適用場合。 multcomp包的cholesterol數據集,來自某項臨床研究,記錄了50個患者接受降膽固醇藥物治療後的療效。#示例數據,詳情加載 multcomp 包後 ?
  • EXCEL箱線圖的作法
    豐富的繪圖功能是EXCEL軟體一大特色,在EXCEL中可以實現大部分統計圖的繪製,但作為常見的一種統計圖—箱線圖在EXCEL中並沒有它的身影。難道在EXCEL真的無法實現箱線圖的繪製嗎?在實踐中我們發現,儘管箱線圖在EXCEL中不能直接實現,卻可以通過間接的形式加以實現。
  • 基於ggplot2包繪製SCI學術箱線圖的保姆級教程
    具體含義可通過如下圖表進行說明:圖源網絡,侵刪本期推文使用ggplot2包來繪製箱線圖。1. 加載數據、數據在後臺回復箱線圖即可免費獲取。繪製基本箱線圖使用ggplot2包繪製箱線圖很簡單,主要使用geom_boxplot()函數,先採用默認的參數繪製。
  • R語言、Python、MeteoInfo及Matlab繪製等值線圖
    1、Matlab繪製等值線圖
  • R語言繪製抖動散點圖和蜂群圖
    除了R語言作圖外,本文還比較了二者各自的特點,並在最後簡單列舉了它們與其它類型的統計圖如箱線圖、提琴圖等的區別和聯繫,以及適用場合。 multcomp包的cholesterol數據集,來自某項臨床研究,記錄了50個患者接受降膽固醇藥物治療後的療效。#示例數據,詳情加載 multcomp 包後 ?
  • Excel-箱線圖(數據分布)分析
    通過將多組數據的箱線圖畫在同一坐標上,則可以清晰地顯示各組數據的分布差異,為發現問題、改進流程提供線索。2.箱線圖的結構箱線圖包括一個矩形箱體和上下兩條豎線,箱體表示數據的集中範圍,上下兩條豎線分別表示數據向上和向下的延伸範圍
  • 箱線圖的生物學含義
    通過R語言來探索一下datasauRus:install.packages("datasauRus")library(datasauRus)if(requireNamespace("dplyr")){  suppressPackageStartupMessages(library(dplyr))  datasaurus_dozen
  • 這個為生信學習和生信作圖打造的開源R教程真香!!!
    3.5.1 數據示例3.5.2 繪製一個聚類熱圖很簡單3.5.3 如何自定義分支順序呢3.5.4 人為指定順序排序樣品3.5.5 按某個基因的表達由小到大排序3.5.6 按某個基因的表達由大到小排序3.5.7 按分支名字(樣品名字)的字母順序排序3.5.8 梯子形排序:最小的分支在右側
  • 《R語言》| 初級作業
    1.對前面讀取的 RunInfo Table 文件在R裡面探索其MBases列,包括 箱線圖(boxplot)和五分位數(fivenum),還有頻數圖(hist),以及密度圖(density) 。>boxplot(MBases~MBytes,data=SraRunTable,col="blue")
  • 統計分析(以R語言為工具) | 第四章 數據描述與可視化(上)
    (2)熟練掌握各種統計圖形在描述統計數據中的應用,包括柱狀圖、餅圖、箱線圖、散點圖、折線圖、直方圖、相關係數圖;能夠在實際案例中根據分析需求選擇合適的統計圖形。(3)了解並掌握R語言數據可視化相關知識,包括基礎可視化方法與ggplot2包的應用,靈活實現各種圖形的展示。(4)了解交互可視化的優點與用途,能夠在R語言中實現交互可視化作圖。
  • 統計分析(以R語言為工具) | 第一章 統計分析與R語言
    統計分析最常用的圖表類型為直方圖、柱狀圖、箱線圖、散點圖、折線圖和餅圖。針對不同的業務訴求和變量類型,可以有針對性地選擇統計圖形進行作圖。以合租房數據集為例,數據清洗完成後,可以進行可視化分析。首先,我們對因變量(月租金)的分布形態進行描述。如圖1-2所示,合租房租金呈右偏分布,約有80%的房間租金在3390元以下,少量房間租金在5000元以上。
  • R語言50繪圖|第八期boxplot()展示基因在多組間的差異
    今天帶來《R語言50繪圖》系列第八期~今天就和大家分享一下:boxplot()展示基因在多組間的差異~使用ggboxplot()函數來展示基因在多組間的差異。軸用作——展示在我們的顏色填充分組② Expression:Gene的表達量      用作——展示在我們的Y軸例子:根據基因在多組間的差異表達結果,使用箱線圖進行展示
  • 一文學會用Python繪製經典的棉棒圖、箱線圖和誤差棒圖
    這幾天一直在和大家聊Python數據可視化相關的東東,其中呢,介紹最多的當然是matplotlib庫中的各種繪製函數啦,上次已經和大家談論了關於Python中如何繪製氣泡圖等漂亮圖表的方式,今天呢,咱們繼續聊哦,今天呢,咱們就來聊聊如何繪製經典的棉棒圖、箱線圖和誤差棒圖
  • 箱線圖boxplot的多種畫法
    箱線圖能夠顯示出可能為離群點(範圍±1.5*IQR以外的值,IQR表示四分位距,即上四分位數與下四分位數的差值)的觀測。從箱線圖中,可以大致推斷出數據的集中或離散趨勢。之前已經給大家簡單介紹過boxplot的繪製(用R做分組boxplot並修改median線顏色同時展示P值),我們今天詳細地再給大家介紹兩種繪製箱線圖的方法。1.