当前位置:网站首页>ggplot 分面的细节调整汇总
ggplot 分面的细节调整汇总
2022-07-06 21:00:00 【庄闪闪】
简介
小编前段时间介绍了 ggplot2 分面问题:R可视乎|分面一页多图。以及很多书籍都介绍了如何使用 ggplot2 的分面,如:《ggplot2: Elegant Graphics for Data Analysis》,《R语言教程》。
但是绘制之后的细节调整,几乎都没有介绍过。小编在学习的过程中,将一些细节调整技巧进行了整理,以供参考。并分享给大家,希望能帮到你~
本文框架
教程
本文通过模拟数据来举例,读者可以根据数据形式,加载自己的数据集,并进行相应的数据处理。
生成数据
# 导入包
library(ggplot2)
set.seed(1)
dat = data.frame("time" = rep(2013:2019,6),
"method" = rep(LETTERS[1:6],each = 7),
"value" = rnorm(7*6,5,1),
"upper" = rnorm(7*6,5,1) + abs(rnorm(7*6,2,0.1)),
"lower" = rnorm(7*6,5,1) - abs(rnorm(7*6,2,0.1))
)
head(dat)
基础版本绘图
cols <- c("#85BA8F", "#A3C8DC","#349839","#EA5D2D","#EABB77","#F09594") #设置颜色
p = ggplot(dat,aes(x = time, y = value,fill = method)) +
geom_line(aes(color = method)) + #添加线
geom_point(aes(color = method)) + #添加散点
geom_ribbon(aes(ymin=lower, ymax=upper), alpha=0.3) + #添加区间
scale_x_continuous(breaks = 2013:2019) +
facet_wrap(vars(method),nrow = 4) +
theme_bw() + ylab("Value") + xlab("Time") + #主题设置
theme(panel.grid = element_blank())
p
刻度尺修改
默认情况下,x、y 轴刻度是固定的,即,scales = "fixed"
。具体可以参考:https://ggplot2-book.org/facet.html。
x 轴
利用参数 scales = "free_x"
,修改 x 轴刻度尺。
p + facet_wrap(vars(method),nrow = 4,scales = "free_x")
y 轴
利用参数 scales = free_y
,修改 y 轴刻度尺。
p + facet_wrap(vars(method),nrow = 4,scales = "free_y")
双轴
利用参数 scales = free
,修改 x 和 y 轴刻度尺。
p + facet_wrap(vars(method),nrow = 4,scales = "free")
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q8BdFXbf-1656937310384)(https://files.mdnice.com/user/5000/9d1e15c9-ebc3-43b2-a892-43a1229eb0b5.png)]
标题框调整
这一部分都是在 theme()
中进行调整。具体可以参考:https://ggplot2-book.org/polishing.html。
位置调整
修改 strip.position
进行位置调整。
p + facet_wrap(vars(method),nrow = 3,strip.position = "left")
去除标题框背景
利用 strip.background = element_blank()
去除标题框背景。
p + theme(
strip.background = element_blank() #去除标题框背景
)
修改标题框背景颜色
利用 strip.background = element_rect()
修改标题框背景颜色。
p + theme(strip.background=element_rect(colour="black",
fill="#2072A8"))
修改标题框文字颜色
利用 strip.text.x=element_text()
修改标题框文字颜色。
p + theme(strip.text.x=element_text(colour="white"))
删除标题框
利用 strip.text.x = element_blank()
删除标题框。
p + theme(strip.text.x = element_blank())
小编有话说
如果觉得有帮助的话,欢迎点赞,分享~
边栏推荐
- [Dameng database] after backup and recovery, two SQL statements should be executed
- 24. (ArcGIS API for JS) ArcGIS API for JS point modification point editing (sketchviewmodel)
- Stored procedures and functions (MySQL)
- Numpy中排序操作partition,argpartition,sort,argsort
- Free PHP online decryption tool source code v1.2
- VHDL implementation of single cycle CPU design
- pip只下载不安装
- The true face of function pointer in single chip microcomputer and the operation of callback function
- Mathematical induction and recursion
- R数据分析:cox模型如何做预测,高分文章复现
猜你喜欢
太方便了,钉钉上就可完成代码发布审批啦!
Graphical tools package yolov5 and generate executable files exe
How to replace the backbone of the model
Not All Points Are Equal Learning Highly Efficient Point-based Detectors for 3D LiDAR Point
Basic concepts of Huffman tree
Probability formula
1200.Minimum Absolute Difference
卡尔曼滤波-1
VHDL implementation of arbitrary size matrix addition operation
函数重入、函数重载、函数重写自己理解
随机推荐
概率论公式
How to customize the shortcut key for latex to stop running
PHP lightweight Movie Video Search Player source code
MySQL的索引
[dpdk] dpdk sample source code analysis III: dpdk-l3fwd_ 001
API data interface of A-share index component data
Flutter3.0, the applet is not only run across mobile applications
About Tolerance Intervals
如何自定义Latex停止运行的快捷键
Variables, process control and cursors (MySQL)
QT thread and other 01 concepts
海思万能平台搭建:颜色空间转换YUV2RGB
维护万星开源向量数据库是什么体验
25. (ArcGIS API for JS) ArcGIS API for JS line modification line editing (sketchviewmodel)
校招行测笔试-数量关系
A 股指数成分数据 API 数据接口
When QT uses qtooltip mouse to display text, the picture of the button will also be displayed and the prompt text style will be modified
Introduction to opensea platform developed by NFT trading platform (I)
Can the applet run in its own app and realize live broadcast and connection?
[security attack and Defense] how much do you know about serialization and deserialization?