R語言——帶有誤差線和顯著性標記的柱狀圖如何做?

背景介紹

昨天我們講了如何進行單因素方差分析或者非引數檢驗,以及組間的兩兩比較。

今天我們來看一下,對於資料如何作圖,並且加上誤差條以及顯著性標記。

軟體介紹

R、RStudio

作圖教程

資料符合正態分佈

1。在資料符合正態的條件下,適合做均值加減標準差或標準誤的柱狀圖,首先,我們計算各個組別的均值和標準差或標準誤。在mean()和sd()函式中,我們對Time進行計算均值和標準差,使用na。rm=TRUE,是由於我們的資料中包含了空值。(%>%就是一種管道符,傳遞函式用的)

# 計算均值和標準差library(tidyverse)T2plot <- T2%>% group_by(Group)%>% summarise( n=n(), mean=mean(Time,na。rm=TRUE), sd=sd(Time,na。rm = TRUE))T2plot

R語言——帶有誤差線和顯著性標記的柱狀圖如何做?

2。接下來我們進行資料繪圖,然後我們基礎的圖就出來了

# 開始繪圖ggplot(T2plot,aes(Group,mean,fill=Group))+ geom_col()

R語言——帶有誤差線和顯著性標記的柱狀圖如何做?

3。繼續上面的,我們給柱子加上誤差線,並設定寬度和粗細

# 開始繪圖ggplot(T2plot,aes(Group,mean,fill=Group))+ geom_col()+ geom_errorbar(aes(Group, ymin=mean-sd, ymax=mean+sd, color=Group),width=。6,size=1)

R語言——帶有誤差線和顯著性標記的柱狀圖如何做?

4。在上述基礎上,我們可以對x和y座標進行名字的更改,以及對y軸範圍進行更改

# 開始繪圖ggplot(T2plot,aes(Group,mean,fill=Group))+ geom_col()+ geom_errorbar(aes(Group, ymin=mean-sd, ymax=mean+sd, color=Group),width=。6,size=1)+ xlab(“Experimental group”)+ ylab(“Time”)+ ylim(0,150)

R語言——帶有誤差線和顯著性標記的柱狀圖如何做?

5。接下來,我們對橫縱座標的字型大小進行更改:axis。title=element_text()是對x和y的標題名稱進行更改;axis。text=element_text()是對x和y的軸的字型進行調整。同時,我們使用legend。position=“none”對標籤去除

# 開始繪圖ggplot(T2plot,aes(Group,mean,fill=Group))+ geom_col()+ geom_errorbar(aes(Group, ymin=mean-sd, ymax=mean+sd, color=Group),width=。6,size=1)+ xlab(“Experimental group”)+ ylab(“Time”)+ ylim(0,150)+ theme(legend。position =“none”, axis。title = element_text(size=15), axis。text = element_text(size=15))

R語言——帶有誤差線和顯著性標記的柱狀圖如何做?

6。使用annotate()函式,對柱子增加標籤,然後需要增加幾個就複製幾個,更改一下x和y的位置就行

# 開始繪圖ggplot(T2plot,aes(Group,mean,fill=Group))+ geom_col()+ geom_errorbar(aes(Group, ymin=mean-sd, ymax=mean+sd, color=Group),width=。6,size=1)+ xlab(“Experimental group”)+ ylab(“Time”)+ ylim(0,150)+ theme(legend。position =“none”, axis。title = element_text(size=15), axis。text = element_text(size=15))+ annotate(“text”,x=2,y=128,label=“**”,size=10)+ annotate(“text”,x=3,y=98,label=“**”,size=10)+ annotate(“text”,x=5,y=103,label=“**”,size=10)+ annotate(“text”,x=7,y=98,label=“*”,size=10)+ annotate(“text”,x=8,y=108,label=“**”,size=10)+ annotate(“text”,x=9,y=100,label=“**”,size=10)+ annotate(“text”,x=10,y=102,label=“**”,size=10)+ annotate(“text”,x=11,y=78,label=“**”,size=10)

R語言——帶有誤差線和顯著性標記的柱狀圖如何做?

7。如果你想給外圍增加一個線框和填充圖裡面的顏色怎麼辦?使用panel。border=element_rect()以及panel。background=element_rect()

# 開始繪圖ggplot(T2plot,aes(Group,mean,fill=Group))+ geom_col()+ geom_errorbar(aes(Group, ymin=mean-sd, ymax=mean+sd, color=Group),width=。6,size=1)+ xlab(“Experimental group”)+ ylab(“Time”)+ ylim(0,150)+ theme(legend。position =“none”, axis。title = element_text(size=15), axis。text = element_text(size=15))+ annotate(“text”,x=2,y=128,label=“**”,size=10)+ annotate(“text”,x=3,y=98,label=“**”,size=10)+ annotate(“text”,x=5,y=103,label=“**”,size=10)+ annotate(“text”,x=7,y=98,label=“*”,size=10)+ annotate(“text”,x=8,y=108,label=“**”,size=10)+ annotate(“text”,x=9,y=100,label=“**”,size=10)+ annotate(“text”,x=10,y=102,label=“**”,size=10)+ annotate(“text”,x=11,y=78,label=“**”,size=10)+ theme(panel。border = element_rect(fill=NA,color = “black”,size = 2), panel。background = element_rect(fill = “lightblue”))

R語言——帶有誤差線和顯著性標記的柱狀圖如何做?

8。最終圖片如何匯出呢,我們首先將圖片拉到一個合適的大小,透過拉動邊框,將圖片適當展示

R語言——帶有誤差線和顯著性標記的柱狀圖如何做?

9。然後,使用ggsave()進行匯出圖片,直接在作圖函式後面輸入函式,命名圖片以及圖片格式,寫入DPI是多少,即可匯出到R的資料夾。

ggsave(“不動時間圖。png”,dpi=600)

R語言——帶有誤差線和顯著性標記的柱狀圖如何做?

10。其他格式的圖片,只需要更換圖片格式尾綴即可,如“不動時間。pdf”,“不動時間。jpg”等。好了,今天的教程就這麼多了,趕緊來學學吧!