R语言与医学统计图形-【25】ggplot图形分面
ggplot2绘图系统——图形分面
ggplot2的分面faceting,主要有三个函数:
- facet_grid
- facet_wrap
- facet_null (不分面)
1. facet_grid函数
facet_grid函数及参数:
facet_grid(facets, #x~y, x+y~z
margins = F, #仅展示组合数据
scales = 'fixed', #是否通用坐标轴,free_x/free_y/free
space = 'fixed', #是否保持相同面积
shrink = T,
labeller = 'label_value', #添加标签
as.table = T,
switch = , #调整分面标签位置,both/x/y
drop = T)
基本用法
p <- ggplot(mpg,aes(displ,cty))+geom_point()
a <- p+facet_grid(.~cyl) #cyl列
b <- p+facet_grid(drv~.) #drv行
c <- p+facet_grid(drv~cyl) #drv行cyl列
grid.arrange(a,b,c,ncol=1)
分面的灵活性。
分别定义不同图形的坐标轴取值范围(scales参数)或不同分面面积(space参数)。
mt <- ggplot(mtcars,aes(mpg,wt,color=factor(cyl)))+
geom_point()
mt+facet_grid(.~cyl,scales = 'free')
ggplot(mpg,aes(drv,model))+geom_point()+
facet_grid(manufacturer~.,scales = 'free',space = 'free')+
theme(strip.text.y = element_text(angle=0)) #设置y轴标签
分面标签设置
默认标签使对应分类水平的名称,可通过设置labeller参数及对应的函数对分面标签进行修改。函数主要有:
- label_both (最常用):讲变量名和分类水平一起展示;
- label_bquote(很适合填充数学表达式标签):接受rows和cols参数,分别定义横向和纵向分面标签;
- label_context:与label_both类似;
- label_parse:与label_bquote类似。
p <- ggplot(mtcars,aes(wt,mpg))+geom_point()
p+facet_grid(vs~cyl,labeller = label_both)+ #设置分面标签
theme(strip.text = element_text(color='red'))
p+facet_grid(.~vs,labeller = label_bquote(cols = alpha ^ .(vs)))
#这里只设置cols,即必须存在列分面
改变标签的方向(默认右,上),switch参数。
p+facet_grid(am~gear,switch='both')+ #右上变为左下
theme(strip.background = element_blank()) #去掉标签背景
多重分面:三个及以上变量同时分面。
mg <- ggplot(mtcars,aes(x=mpg,y=wt))+geom_point()
mg+facet_grid(vs+am~gear,labeller = label_both)
mg+facet_grid(vs+am~gear,margins = T,labeller = label_both)
#margin不仅展示不同组合分面,还展示总体数据(all)分布的分面
mg+facet_grid(vs+am~gear,margins = 'am',labeller = label_both)
#am在切分不同水平和不切分时的数据分面
2. facet_wrap函数
与facet_grid的最大区别在于:能够自定义分面行列数。
函数及其参数:
facet_wrap(facets = ,
nrow = , #分面行数
ncol = , #分面列数
scales = 'fixed',
shrink = T,
labeller = 'label_value',
as.table = T,
switch = ,
drop = T,
dir = 'h') #h/v,按行/列排列分面
R语言与医学统计图形-【25】ggplot图形分面的更多相关文章
- R语言与医学统计图形【1】par函数
张铁军,陈兴栋等 著 R语言基础绘图系统 基础绘图包之高级绘图函数--par函数 基础绘图包并非指单独某个包,而是由几个R包联合起来的一个联盟,比如graphics.grDevices等. 掌握par ...
- R语言与医学统计图形【4】直方图、金字塔图
R语言基础绘图系统 基础图形--直方图.金字塔图 3.直方图 参数设置及比较. op <- par(mfrow=c(2,3)) data <- rnorm(100,10,5) hist(d ...
- R语言与医学统计图形【2】散点图、盒形图
R语言基础绘图系统 基础图形--散点图.盒形图 plot是一个泛型函数(generic method),对于不同的数据绘制不同的图形. par函数的大部分参数在plot中通用. 1.散点图 plot绘 ...
- R语言与医学统计图形【8】颜色的选取
R语言基础绘图系统 基础绘图包之低级绘图函数--内置颜色. 1.内置颜色选取 功能657种内置颜色.colors() 调色板函数:palette(), rgb(), rainbow(). palett ...
- R语言与医学统计图形【6】低级绘图函数
R语言基础绘图系统 基础绘图包之低级绘图函数--定义坐标轴.图例.文本 低级绘图函数:本身不具备图形绘制能力,只是在已有图形基础上添加元素. 函数 功能 arrows 添加箭头 axis 坐标轴 bo ...
- R语言与医学统计图形【5】饼图、条件图
R语言基础绘图系统 基础图形--饼图.克利夫兰点图.条件图 6.饼图 pie(rep(1,26),col=rainbow(26), labels = LETTERS[1:26], #标签 radius ...
- R语言与医学统计图形【3】条形图、误差图
R语言基础绘图系统 基础图形--条形图.误差图 3.条形图 barplot接收的数据是矩阵而非数据框. data <- sample(c(50:80),5) barplot(data,col=h ...
- R语言与医学统计图形【7】低级绘图函数
R语言基础绘图系统 基础绘图包之低级绘图函数--气泡图.一页多图.背景网格.添加线条和散点.数学表达式 4.气泡图 symbols是高级绘图函数,可在图上添加标记,标记的形状包括:circles,sq ...
- R语言与医学统计图形-【24】ggplot位置调整函数
ggplot2绘图系统--位置调整函数 可以参数position来调整,也有专门的函数position_*系列来设置. 位置函数汇总: 1.排列 并排排列 mean <- runif(12,1, ...
随机推荐
- Sequence Model-week2编程题1-词向量的操作【余弦相似度 词类比 除偏词向量】
1. 词向量上的操作(Operations on word vectors) 因为词嵌入的训练是非常耗资源的,所以ML从业者通常 都是 选择加载训练好 的 词嵌入(Embedding)数据集.(不用自 ...
- oo第一次博客-三次表达式求导的总结与反思
一.问题回顾与基本设计思路 三次作业依次是多项式表达式求导,多项式.三角函数混合求导,基于三角函数和多项式的嵌套表达式求导. 第一次作业想法很简单,根据指导书,我们可以发现表达式是由各个项与项之间的运 ...
- websocket入门案例(echo)
websocket是用来干什么的,具体的请自行百度. 本文实现一个简单的websocket的入门小例子,实现客户端发送一句换,服务器端返回.即一个简单的交互. 一.服务器端的实现 1.创建一个类实现S ...
- 转:Linux常用命令总结
学习linux也有一阵子了,现总结一些常用的linux操作命令,方便大家查找1. cd命令这个命令是最基本的也是最常用的.它用于切换当前目录,可以是绝对路径,也可以是相对路径.例:cd /root/h ...
- Python 调用上级目录的文件
程序结构如下: – src |-- mod1.py |-- lib | |-- mod2.py |-- sub | |-- test.py 具体代码如下: 在test.py里调用mod1 mod2 i ...
- 第02课 OpenGL 多边形
你的第一个多边形: 在第一个教程的基础上,我们添加了一个三角形和一个四边形.也许你认为这很简单,但你已经迈出了一大步,要知道任何在OpenGL中绘制的模型都会被分解为这两种简单的图形.读完了这一课,你 ...
- 小米多模网关接入Home Assistant ZNDMWG03LM
一.小米zigbee网关使用 先下载米家app,打开手机蓝牙,登陆点"我的"界面,将网关设备插上电源,橙灯闪烁,点击蓝牙网关等待弹窗提示连接,选择连接路由器(需2.4GHz),输入 ...
- jenkins 生成HTML报表,邮件推送
1.登录jenkins,系统管理=>插件管理 =>可选插件安装 安装成功: 2.打开任务,进入配置 3.添加构建后操作 4.配置页面 5.构建后report输出配置完成后点击立即构建,构建 ...
- windows 下 redis服务经常自动关闭
记一次线上服务器redis 经常掉线的问题 环境: windows service 2019, redis, java8, 由于服务器资源有限, 项目的数据库oracle, 缓存数据库redis和we ...
- 解决IE6,边框问题
IE6是一个让人蛋疼而又无奈的浏览器,这次不经意间发现了一个BUG的解决发放,给大家分享一下 直接中部代码<input type="text" value="&qu ...