date:2022.2.8
小杜的生信筆記
視頻教程:
R語言繪制精美漂亮截?cái)鄨D教程 | 代碼重復(fù) | (收藏篇)
學(xué)習(xí)網(wǎng)址:Set Axis Break for ggplot2 (r-project.org)
01. 繪圖重點(diǎn)
1)你想要繪制的圖形是什么類型
2)數(shù)據(jù)準(zhǔn)備
3)基礎(chǔ)圖形的繪制
4)圖形的美化
5)圖形中體系布局的把控
02 教程小例子
導(dǎo)入相關(guān)的R包
## 導(dǎo)入R包
library(ggplot2)
library(ggbreak)
library(patchwork)
# 下載你所需要的R包
# install.packages("")
# BiocManager::install("")
###
導(dǎo)入數(shù)據(jù)
setwd("D:\\小杜的生信筆記\\截?cái)鄨D繪制")
df <- read.table("inut.data.txt", header = T)
head(df)
本教程使用的隨機(jī)數(shù)據(jù)
d <- data.frame(x = 1:20,
y = c(rnorm(5) + 4, rnorm(5) + 20, rnorm(5) + 5, rnorm(5) + 22)
)
head(d)
> head(d)
x y
1 1 3.423056
2 2 5.148453
3 3 4.596218
4 4 4.641941
5 5 4.902195
6 6 20.323737
基礎(chǔ)圖形的繪制
p1 <- ggplot(d, aes(y, x)) + geom_col(orientation="y")
圖形的調(diào)整,截?cái)?/p>
## 在圖形中隨意位置加入你想要加入的字符编整,或標(biāo)記
d2 <- data.frame(x = c(2, 18), y = c(7, 26), label = c("hello", "world"))
##
p2 <- p1 + scale_x_break(c(7,17))+ ## 截?cái)鄕軸
# scale_y_break(c("輸入你的坐標(biāo)")) ## 截?cái)鄖軸
geom_text(aes(y, x, label = label), data = d2,
hjust = 1,
colour = 'firebrick')+
labs(y = "Time", x = "Expression level")+
theme_classic() ## 設(shè)置主題
# scale_fill_brewer(palette = "Accent") ## 設(shè)置顏色
### 第二次截?cái)?p2 + scale_x_break(c(18,21))
### 第三次截?cái)?贪壳,第四次截?cái)?.........................
## 建議:截?cái)鄨D拧篮,最好只截?cái)嘁淮?
注意:建議:截?cái)鄨D,最好只截?cái)嘁淮?/strong>
03. 豎著的柱狀圖-截?cái)嗬?/h2>
ggplot(d , aes(x,y))+ geom_col()+ #基礎(chǔ)圖形繪制
scale_y_break(c(7,12), scales = 1.5)+
scale_y_break(c(18,21),scales = 2)+
# scale_y_reverse()
labs(fill = "Time(h)",x = "", y = "Expression level")+
theme(text = element_text(size=12))+
## 更改橫縱坐標(biāo)軸中的字體顏色坯苹、大小
theme(axis.text.x = element_text(color = "black",size = 10),
axis.text.y = element_text(color = "black",size = 10))
04. 截?cái)鄨D中級篇
# 01. 準(zhǔn)備 *****
# 02. 圖形繪制
# 03. 圖形美化
# 04. 圖中字體大小更改美化
ggplot(d , aes(x,y))+ geom_col()+ #基礎(chǔ)圖形繪制
scale_y_break(c(7,12), scales = 1.5)+
scale_y_break(c(18,21),scales = 2)+
# scale_y_reverse()
labs(fill = "Time(h)",x = "", y = "Expression level")+
theme(text = element_text(size=12))+
## 更改橫縱坐標(biāo)軸中的字體顏色坯苹、大小
theme(axis.text.x = element_text(color = "black",size = 10),
axis.text.y = element_text(color = "black",size = 10))
# 01. 準(zhǔn)備 *****
# 02. 圖形繪制
# 03. 圖形美化
# 04. 圖中字體大小更改美化
數(shù)據(jù)準(zhǔn)備
d <- data.frame(
x = 1:20,
y = c(rnorm(5) + 4, rnorm(5) + 20, rnorm(5) + 5, rnorm(5) + 22),
group = c(rep("A", 10), rep("B", 10)),
face=c(rep("C", 5), rep("D", 5), rep("E", 5), rep("F", 5))
)
## 查看數(shù)據(jù)
head(d)
dim(d)
> head(d)
x y group face
1 1 3.809619 A C
2 2 1.729871 A C
3 3 3.031275 A C
4 4 5.819765 A C
5 5 3.860474 A C
6 6 20.886914 A D
> dim(d)
[1] 20 4
基礎(chǔ)圖形的繪制
p <- ggplot(d, aes(x = x, y = y))+
geom_col(orientation = "x")+ ##參數(shù):orientation = "":t圖形需要從哪一個(gè)參數(shù)進(jìn)行轉(zhuǎn)變
scale_y_reverse()+
facet_wrap(group~.,
scales="free_y",
strip.position="right",
nrow=2)+
coord_flip() ## 順時(shí)針旋轉(zhuǎn)90
截?cái)鄕軸中的圖形
p2 <- p+scale_y_break(c(7,17),scales = "free")
給圖形添加顏色
p2 + aes(fill =group)+ theme(legend.position = "bottom")+
theme_classic()+
scale_fill_brewer(palette = "Accent")
require(ggplot2)
library(ggbreak)
set.seed(2019-01-19)
d <- data.frame(
x = 1:20,
y = c(rnorm(5) + 4, rnorm(5) + 20, rnorm(5) + 5, rnorm(5) + 22),
group = c(rep("A", 10), rep("B", 10))
)
p <- ggplot(d, aes(x=x, y=y)) +
scale_y_reverse() +
scale_x_reverse() +
geom_col(aes(fill=group)) +
scale_fill_manual(values=c("#00AED7", "#009E73")) +
facet_wrap(
group~.,
scales="free_y",
strip.position="right",
nrow=2
) +
coord_flip()
p +
scale_y_break(c(7, 10), scales=0.5, ticklabels=c(10, 11.5, 13)) +
scale_y_break(c(13, 17), scales=0.5, ticklabels=c(17, 18, 19)) +
scale_y_break(c(19,21), scales=1, ticklabels=c(21, 22, 23))
“小杜的生信筆記”公眾號、知乎、簡書平臺寒锚,主要發(fā)表或收錄生物信息學(xué)的教程,以及基于R的分析和可視化(包括數(shù)據(jù)分析呻粹,圖形繪制等)壕曼;分享感興趣的文獻(xiàn)和學(xué)習(xí)資料!