R语言_ggplot2 分面相关设置(facet)

分面设置在ggplot2应该也是要经常用到的一项画图内容,在数据对比以及分类显示上有着极为重要的作用,

下面是两个经常要用到的分面函数。

facet_wrap(facets, nrow = NULL, ncol = NULL, scales = "fixed", shrink = TRUE, as.table = TRUE, drop = TRUE)

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

其中facet_wrap和facet_grid不同在于facet_wrap是基于一个因子进行设置,facets表示形式为:~变量(~单元格) 

而facet_grid是基于两个因子进行设置,facets表示形式为:变量~变量(行~列),如果把一个因子用点表示,也可以达到facet_wrap的效果,也可以用加号设置成两个以上变量

例如:变量+变量~变量 的形式,表示对三个变量设置分面。

具体的参数(把两个函数参数和在一起):

nrow,ncol 分面索要设置成的行和列,参数为数值,表示几行或者几列

scales  参数fixed表示固定坐标轴刻度,free表示反馈坐标轴刻度,也可以单独设置成free_x或free_y

shrink  也和坐标轴刻度有关,如果为TRUE(默认值)则按统计后的数据调整刻度范围,否则按统计前的数据设定坐标。

drop    表示是否去掉没有数据的分组,默认情况下不显示,逻辑值为FALSE

as.table   和小图排列顺序有关的选项。如果为TRUE(默认)则按表格方式排列,即最大值(指分组level值)排在表格最后即右下角,否则排在左上角。

margins 通过TRUE或者FALSE表示否设置而一个总和的分面变量,默认情况为FALSE,即不设置

space    表示分面空间是否可以按照数据进行缩放,参数和scales一样

 

下面来看些具体的例子:

 

1
2
3
library(ggplot2)
p<-ggplot(mtcars,aes(mpg,hp))+geom_point()
p

  

1
p+facet_wrap(~cyl)

  

1
p+facet_wrap(~cyl,scales= "free" )

  

这里把scales 设置成free之后,可以看出每个分面都有自己的坐标刻度,当然我们也可以单独对x轴或y轴设置。

1
p+facet_wrap(~carb,scales= "free" )

  

1
p+facet_wrap(~carb,scales= "free" ,nrow=1)

  

对nrow设置后的效果图表变得比较拥挤,正常情况下,facet_wrap自然生成的图片都会相对比较好看。

1
p+facet_grid(.~cyl)

  

1
p+facet_grid(vs~cyl)

  

1
p+facet_grid(vs~cyl,scales= "free" ,space= "free" )

  

从上图可以看出把scales 和space 都设置成free之后,不仅坐标刻度不一样了,连每个分面的大小也不一样了。

1
p+facet_grid(vs~cyl,margins=TRUE)

  

相对于上面一张图,多出一行分面,后面有all的标记,可以看出是对上两行分面的汇总。

相对而言整个分面的设置也相对比较简单。

 

R语言中使用ggplot2库进行分面绘图后,我们可以对每个分面进行特定的操作。ggplot2库使用facet_grid()函数来实现分面,在该函数中可以指定用于分面的变量。分面后,我们可以对每个分面进行以下操作: 1. 添加图形层:可以使用ggplot2提供的各种函数和参数,在每个分面上添加图形层。例如,可以使用geom_point()函数在每个分面上添加散点图层,使用geom_line()函数添加线图层,使用geom_bar()函数添加柱状图层等等。通过在分面对象上多次调用相应的图形层函数,我们可以在每个分面上添加多个图形层。 2. 样式修改:在每个分面上可以使用各种函数和参数来修改样式。例如,可以使用theme()函数修改坐标轴的标签、标题和刻度的样式,使用scale_x_continuous()和scale_y_continuous()函数修改坐标轴的范围和标签等等。通过在分面对象上调用相应的样式函数,我们可以对每个分面的样式进行个性化设置。 3. 统计计算:在每个分面上可以进行统计计算,并在图形中显示计算结果。例如,可以使用stat_summary()函数计算每个分面中的数据的均值、中位数或标准差,并使用geom_text()函数在图形中显示这些统计结果。通过在分面对象上调用相应的统计计算函数,我们可以在每个分面上进行各种统计计算。 总之,分面功能使我们可以方便地在每个分面上进行特定的操作,从而更好地展示和分析数据。无论是添加图形层、修改样式还是进行统计计算,都可以通过在分面对象上调用相应的功能函数来实现。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值