今天沟优,小編帶大家使用ggplot2包繪制一種比較基礎(chǔ)的圖形——柱狀圖岔擂!
1、加載包
#設(shè)置工作環(huán)境
rm(list=ls())
setwd("D:\\桌面\\柱狀圖")
#加載包
library(ggplot2)
library(reshape2)
library(ggpubr)
library(ggprism)
2惩嘉、加載并處理數(shù)據(jù)
#加載數(shù)據(jù)
df <- read.table("data.txt",header = T, check.names = F)
#轉(zhuǎn)換數(shù)據(jù)
data=melt(df)
data$G<-rep(c("T","F","H"), each = 24)
head(data)
image.png
image.png
3罢洲、繪圖
1)繪制基礎(chǔ)圖形
ggplot(data,aes(G,value,color=G,fill=G))+
geom_bar(stat="summary",fun=mean,position="dodge")+
stat_summary(fun.data = 'mean_sd', geom = "errorbar", width = 0.3)+
theme_bw()
image.png
2)美化
p1<-ggplot(data,aes(G,value,color=G,fill=G))+
geom_bar(stat="summary",fun=mean,position="dodge")+ #繪制柱狀圖
stat_summary(geom = "errorbar",fun.data = 'mean_sd', width = 0.3)+#誤差棒
labs(x="Samples",y=NULL)+#標(biāo)題
theme_prism(palette = "candy_bright",
base_fontface = "plain", # 字體樣式,可選 bold, plain, italic
base_family = "serif", # 字體格式,可選 serif, sans, mono, Arial等
base_size = 16, # 圖形的字體大小
base_line_size = 0.8, # 坐標(biāo)軸的粗細(xì)
axis_text_angle = 45)+ # 可選值有 0惹苗,45殿较,90,270
scale_fill_prism(palette = "candy_bright")#使用ggprism包修改顏色
p1
image.png
4桩蓉、拓展
1)根據(jù)分組進行分面
p2<-p1+facet_grid(~group,scales = 'free')
p2
image.png
2)添加顯著性
p3<-p2+geom_signif(comparisons = list(c("F","H"),
c("H","T"),
c("F","T")),# 設(shè)置需要比較的組
map_signif_level = T, #是否使用星號顯示
test = "t.test", ##計算方法
y_position = c(50,55,60),#圖中橫線位置設(shè)置
tip_length = c(c(0.01,0.01),
c(0.01,0.01),
c(0.01,0.01)),#橫線下方的豎線設(shè)置
size=0.8,color="black")
p3
image.png
3)添加散點或者抖動點
p4<-p3+geom_point(data=data,aes(G,value),size=2,pch=20,color="black")
p4
image.png
p5<-p3+geom_jitter(width = 0.2,size=2,pch=20,color="black")
p5
image.png
5淋纲、完整代碼
#設(shè)置工作環(huán)境
rm(list=ls())
setwd("D:\\桌面\\柱狀圖")
#加載包
library(ggplot2)
library(reshape2)
library(ggpubr)
library(ggprism)
#加載數(shù)據(jù)
df <- read.table("data.txt",header = T, check.names = F)
#轉(zhuǎn)換數(shù)據(jù)
data=melt(df)
data$G<-rep(c("T","F","H"), each = 24)
#繪圖
ggplot(data,aes(G,value,color=G,fill=G))+
geom_bar(stat="summary",fun=mean,position="dodge")+ #繪制柱狀圖
# geom_point(data=data,aes(G,value),size=2,pch=20,color="black")+#散點圖
geom_jitter(width = 0.2,size=2,pch=20,color="black")+#添加抖動點
stat_summary(geom = "errorbar", fun.data = 'mean_sd', width = 0.3)+#誤差棒
labs(x="Samples",y=NULL)+#標(biāo)題
facet_grid(~group,scales = 'free')+#分面
theme_prism(palette = "candy_bright",
base_fontface = "plain", # 字體樣式,可選 bold, plain, italic
base_family = "serif", # 字體格式院究,可選 serif, sans, mono, Arial等
base_size = 16, # 圖形的字體大小
base_line_size = 0.8, # 坐標(biāo)軸的粗細(xì)
axis_text_angle = 45)+ # 可選值有 0洽瞬,45,90业汰,270
scale_fill_prism(palette = "candy_bright")+#使用ggprism包修改顏色
geom_signif(comparisons = list(c("F","H"),
c("H","T"),
c("F","T")),# 設(shè)置需要比較的組
map_signif_level = T, #是否使用星號顯示
test = "t.test", ##計算方法
y_position = c(50,55,60),#圖中橫線位置設(shè)置
tip_length = c(c(0.01,0.01),
c(0.01,0.01),
c(0.01,0.01)),#橫線下方的豎線設(shè)置
size=0.8,color="black")