截断图学习笔记

date:2022.2.8

小杜的生信筆記

视频教程:
R语言绘制精美漂亮截断图教程 | 代码重复 | (收藏篇)


学习网址:Set Axis Break for ggplot2 (r-project.org)


01. 绘图重点

  • 1)你想要绘制的图形是什么类型

  • 2)数据准备

  • 3)基础图形的绘制

  • 4)图形的美化

  • 5)图形中体系布局的把控

02 教程小例子

导入相关的R包

## 导入R包
library(ggplot2)
library(ggbreak)
library(patchwork)
# 下载你所需要的R包
# install.packages("")
# BiocManager::install("")
###

导入数据

setwd("D:\\小杜的生信筆記\\截断图绘制")
df <- read.table("inut.data.txt", header = T)
head(df)

本教程使用的随机数据

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

基础图形的绘制

p1 <- ggplot(d, aes(y, x)) + geom_col(orientation="y")

图形的调整,截断

## 在图形中随意位置加入你想要加入的字符,或标记
d2 <- data.frame(x = c(2, 18), y = c(7, 26), label = c("hello", "world"))
##
p2 <- p1 + scale_x_break(c(7,17))+        ## 截断x轴
  # scale_y_break(c("输入你的坐标"))  ## 截断y轴
  geom_text(aes(y, x, label = label), data = d2,
            hjust = 1,
            colour = 'firebrick')+
  labs(y = "Time", x = "Expression level")+
  theme_classic()                          ## 设置主题
  # scale_fill_brewer(palette = "Accent")  ## 设置颜色
### 第二次截断
p2 + scale_x_break(c(18,21))
###  第三次截断 ,第四次截断..........................
## 建议:截断图,最好只截断一次

注意:建议:截断图,最好只截断一次


03. 竖着的柱状图-截断例子

ggplot(d , aes(x,y))+ geom_col()+ #基础图形绘制
  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))+
  ## 更改横纵坐标轴中的字体颜色、大小
  theme(axis.text.x = element_text(color = "black",size = 10),
        axis.text.y = element_text(color = "black",size = 10))

04. 截断图中级篇

# 01. 准备    *****
# 02. 图形绘制
# 03. 图形美化
# 04. 图中字体大小更改美化

数据准备

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))
)
## 查看数据
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

基础图形的绘制

p <- ggplot(d, aes(x = x, y = y))+
  geom_col(orientation = "x")+ ##参数:orientation = "":t图形需要从哪一个参数进行转变
  scale_y_reverse()+
  facet_wrap(group~.,
             scales="free_y",
             strip.position="right",
             nrow=2)+
  coord_flip()             ## 顺时针旋转90

截断x轴中的图形

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))

“小杜的生信筆記”公众号、知乎、简书平台,主要发表或收录生物信息学的教程,以及基于R的分析和可视化(包括数据分析,图形绘制等);分享感兴趣的文献和学习资料!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容