R语言高维数据可视化| ggplot2中会“分身术”的facet_wrap()与facet_grid()姐妹花

Posted 菜鸟学数据分析之R语言

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言高维数据可视化| ggplot2中会“分身术”的facet_wrap()与facet_grid()姐妹花相关的知识,希望对你有一定的参考价值。

facet_grid()形成由行和列面化变量定义的面板矩阵。当有两个离散变量,并且这些变量的所有组合存在于数据中时,它是最有用的。如果只有一个具有多个级别的变量,请尝试facet_wrap()。


facet_wrap()将一维面板序列包装成2d。这通常比facet_grid()更好地利用了屏幕空间,而且显示基本上是矩形的。


分面图是根据数据类别按照行或者列,或者矩阵分面的方式将散点图,柱形图等基础图标展示四到五维的数据结构。



01

用法

facet_grid():


facet_grid(rows = NULL,cols = NULL,scales = "fixed",space = "fixed",shrink = TRUE,labeller = "label_value",as.table = TRUE,switch = NULL,drop = TRUE,margins = FALSE,facets = NULL)


facet_wrap():

facet_wrap(facets,nrow = NULL,ncol = NULL,scales = "fixed",shrink = TRUE,labeller = "label_value",as.table = TRUE,switch = NULL,drop = TRUE,dir = "h",strip.position = "top")


rows:一组变量或表达式,由vars()引用并定义面,比如rows=vars(x)是指将变量x作为维度进行分面,并且可以使用多个分类变量。


cols:表示列维度上的组。可以对变量进行命名(将名称传递给标签器)。比如cols=vars(x)表示将变量x作为维度进行列分面。


scales:表示分面后坐标轴的尺度按照什么规则进行适应。(默认为"fixed"),按行适应(“free_x”)、按照列(“free_y”)适应,或者跨行和列(“free”)。


space:如果“fixed”,默认,所有面板有相同的大小。如果"free_y"它们的高度将与y刻度的长度成比例;如果“free_x”,它们的宽度将与x刻度的长度成比例;或者“free”时,高度和宽度都会发生变化。除非适当的刻度也发生变化,否则此设置没有效果。


Shrink:如果为真,将缩小规模以适应统计输出,而不是原始数据。如果为假,将范围内的原始数据进行统计汇总。


labeler:默认情况下使用label_value()。


as.table:如果为真,则默认情况下,facet的布局类似于在右下方具有最高值的表。如果为假,那么这些面就像一个在右上角有最高值的情节一样被布置。


switch:默认情况下,标签显示在绘图的顶部和右侧。如果“x”,顶部的标签将显示在底部。如果是“y”,则右侧的标签将显示在左侧。也可以设置为“both”。


facets:此参数不建议使用,请使用行rows和cols代替.


dir: 方向:“h”代表默认水平方向,“v”代表默认垂直方向。


strip.position:默认情况下,标签显示在图形的顶部。使用地带。位置通过设置条带,可以将标签放置在四个边的任意一边。position = c("top", "bottom", "left", "right")。


02

按列分面

m<-ggplot(mpg,aes(cty,hwy,fill=class,size=cyl))+geom_point(shape=21,colour="black",stroke=0.25,alpha=0.8)m+facet_grid(.~drv)


facet_grid()按照列分面


03

按行分面

m+facet_grid(cyl~.)

【R语言】高维数据可视化| ggplot2中会“分身术”的facet_wrap()与facet_grid()姐妹花

facet_grid()按行分面



04

按两个变量的行列矩阵排列

m+facet_grid(vars(drv), vars(cyl))

【R语言】高维数据可视化| ggplot2中会“分身术”的facet_wrap()与facet_grid()姐妹花


05

facet_grid()调节X轴的取值范围

m+facet_grid(vars(drv), vars(cyl),scales="free_x")
【R语言】高维数据可视化| ggplot2中会“分身术”的facet_wrap()与facet_grid()姐妹花

facet_grid()按照x轴调节取值范围


06

facet_grid()调节y轴的取值范围

【R语言】高维数据可视化| ggplot2中会“分身术”的facet_wrap()与facet_grid()姐妹花

facet_grid()按照y轴调节取值范围


07

facet_grid()调节X和Y轴的取值范围

m+facet_grid(vars(drv), vars(cyl),scales="free ")

【R语言】高维数据可视化| ggplot2中会“分身术”的facet_wrap()与facet_grid()姐妹花

facet_grid()按照x轴和y轴调节取值范围


08

facet_wrap()的矩阵排列

m+facet_wrap(~cyl)

♫. ♪ ~ ♬..♩~ ♫. ♪..♩~ ♫. ♪ ~ ♬..♩..♩~ ♫. ♪ ~ ♬..♩..♩~ ♫. ♪ ~ ♬..♩
♫. ♪ ~ ♬..♩~ ♫. ♪..♩~ ♫. ♪ ~ ♬..♩..♩~ ♫. ♪ ~ ♬..♩..♩~ ♫. ♪ ~ ♬..♩
♫. ♪ ~ ♬..♩~ ♫. ♪..♩~ ♫. ♪ ~ ♬..♩..♩~ ♫. ♪ ~ ♬..♩..♩~ ♫. ♪ ~ ♬..♩
♫. ♪ ~ ♬..♩~ ♫. ♪..♩~ ♫. ♪ ~ ♬..♩..♩~ ♫. ♪ ~ ♬..♩..♩~ ♫. ♪ ~ ♬..♩


我知道你  在看  哦



以上是关于R语言高维数据可视化| ggplot2中会“分身术”的facet_wrap()与facet_grid()姐妹花的主要内容,如果未能解决你的问题,请参考以下文章

R语言ggplot2可视化:使用热力图可视化dataframe数据

R语言可视化——ggplot2画回归曲线

R语言ggplot2可视化包抑制数据轴使用科学计数法实战

高维数据 |R语言数据可视化之t-SNE

数据可视化 | 使用R语言绘制专业图表(Ⅰ)——ggplot2 图形语法基础

R语言ggplot2可视化在ggplot2生成的可视化结果下方显示文本:显示一些关于数据的信息