ggplot 中的 Facets

本文介绍了如何利用ggplot2包中的facet_wrap()和facet_grid()函数,对R语言中的数据进行分面分析,以实现分类变量的可视化对比。通过公式参数设置,可以按单个或两个变量对图表进行拆分,方便观察不同子集的分布情况。
摘要由CSDN通过智能技术生成

对于分类变量比较有用的一个方法是将图拆分成多个facets,每个子图都展示数据的一个子集。

要通过单个变量对绘图进行分面,请使用 facet_wrap()。 facet_wrap()的第一个参数应该是一个公式。

ggplot(data = mpg) + 
  geom_point(mapping = aes(x = displ, y = hwy)) + 
  facet_wrap(~ class, nrow = 2)

如果要对两个变量的组合对绘图进行分面,那么需要facet_grid()。facet_grid()的第一个参数也是一个公式,

ggplot(data = mpg) + 
  geom_point(mapping = aes(x = displ, y = hwy)) + 
  facet_grid(drv ~ cyl)

如果把上面代码变成这样会怎样?

ggplot(data = mpg) + 
  geom_point(mapping = aes(x = drv, y = cyl))

没有了facet_grid(drv ~ cyl),图变成这样:

 显然我们不能对离散型变量作散点图。

ggplot(data = mpg) + 
  geom_point(mapping = aes(x = displ, y = hwy)) +
  facet_grid(drv ~ .)

 按照displ这个定性变量对图片分层。其中displ放在y轴位置。

ggplot(data = mpg) + 
  geom_point(mapping = aes(x = displ, y = hwy)) +
  facet_grid(. ~ cyl)

按照cyl这个离散变量对图片分层。其中cyl放在x轴位置

 

ggplot(data = mpg) + 
  geom_point(mapping = aes(x = displ, y = hwy)) + 
  facet_wrap(~ class, nrow = 2)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值