cell_2.jpg
跟著 Cell 學作圖 | 2.柱狀圖+誤差棒+散點
“實踐是檢驗真理的唯一標準。”
“復現是學習R語言的最好辦法?!?/p>
2021.4.12_1
這篇2020年發表在cell
上關于新冠的組學文章里面有大量的生信內容。今天帶大家復現其中的一個Supplemental Figure
:帶散點的柱狀圖。
本文代碼及示例數據領?。汉笈_回復“20210414”
2021.4.14_1
這圖怎么說呢挺普通的。但是復現過程還是有值得學習的東西的。
數據格式
- 表一用于制作散點圖
2021.4.14_2
- 表二用于制作柱狀圖。(對表一進行統計)
2021.4.14_3
注:以上數據純屬虛構,無實際意義!
思路
柱狀圖+顯著性檢驗+誤差棒+散點
繪制
---
title: "barplot"
author: "MZBJ"
date: "2020/4/14"
---
# 導入所需的包
library(ggplot2)
library(ggsignif)
library(ggpubr)
setwd("F:/HJH/mzbj/cell")
# 導入數據
plot_data1 <- read.csv(file = "NPT_sod.csv")
plot_data2 <- read.csv(file = "NPT.csv")
#-----------------------
p<- ggplot()+
geom_bar(data=plot_data1,mapping=aes(x=group,y=mean), #柱狀圖
fill = "white",
size = 1.5,
color = c("#1E90FF","gold","red"),
position="dodge", # 柱狀圖格式
stat="identity", # 數據格式
width = 0.6)+ # 柱狀圖尺寸
geom_jitter(data=plot_data2, #散點
mapping=aes(x=group,y=Retive_Abundance,fill = group,colour = group,shape = group),
size = 2,
height = 0.05,#散點縱向抖動
width = 0.1)+ #散點橫向抖動
scale_color_manual(values = c("#1E90FF","gold","red"))+ #散點顏色
geom_signif(data=plot_data2,mapping=aes(x=group,y=Retive_Abundance), # 不同組別的顯著性
comparisons = list(c("N", "P"), # 哪些組進行比較
c("N", "T"),
c("P", "T")),
annotation=c("**"), # 顯著性差異做標記
map_signif_level=T, # T為顯著性,F為p value
tip_length=c(0,0,0,0,0,0), # 修改顯著性線兩端的長短
y_position = c(46,54,49), # 設置顯著性線的位置高度
size=1, # 修改線的粗細
textsize = 7, # 修改*標記的大小
test = "t.test")+ # 檢驗的類型
geom_errorbar(data=plot_data1,mapping=aes(x = group,ymin = mean-sd, ymax = mean+sd), # 誤差線添加
width = 0.3, #誤差線的寬度
color = c("#1E90FF","gold","red"), #顏色
size=0.8)+ #粗細
scale_y_continuous(limits =c(0, 60) ,expand = c(0,0))+ # y軸的范圍
theme_classic( # 主題設置,這個是無線條主題
base_line_size = 1 # 坐標軸的粗細
)+
labs(title="White blood cell(WBC)",x="",y="Retive_Abundance")+ # 添加標題,x軸,y軸內容
theme(plot.title = element_text(size = 15,
colour = "black",
hjust = 0.5),
axis.title.y = element_text(size = 15,
# family = "myFont",
color = "black",
face = "bold",
vjust = 1.9,
hjust = 0.5,
angle = 90),
legend.title = element_text(color="black", # 修改圖例的標題
size=15,
face="bold"),
legend.text = element_text(color="black", # 設置圖例標簽文字
size = 10,
face = "bold"),
axis.text.x = element_text(size = 13, # 修改X軸上字體大小,
color = "black", # 顏色
face = "bold", # face取值:plain普通,bold加粗,italic斜體,bold.italic斜體加粗
vjust = 0.5, # 位置
hjust = 0.5,
angle = 0), #角度
axis.text.y = element_text(size = 13,
color = "black",
face = "bold",
vjust = 0.5,
hjust = 0.5,
angle = 0)
)
p
2021.4.14_4.png
大功告成!
往期內容: