楼主: casey_c
1741 1

[学习分享] ggplot2 画布分区 [推广有奖]

  • 0关注
  • 10粉丝

博士生

92%

还不是VIP/贵宾

-

威望
0
论坛币
96 个
通用积分
2.0091
学术水平
2 点
热心指数
15 点
信用等级
2 点
经验
11502 点
帖子
278
精华
0
在线时间
94 小时
注册时间
2016-11-22
最后登录
2022-5-2

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
使用 facet_grid() 、facet_wrap() 等函数可以实现不同的画布分区形式
示例数据

使用reshape2 包中的tips 数据集来做示例

  1. library(reshape2)
  2.     # 让我们来看看数据集的前面几行
  3.     head(tips)
  4.     #>   total_bill  tip    sex smoker day   time size
  5.     #> 1      16.99 1.01 Female     No Sun Dinner    2
  6.     #> 2      10.34 1.66   Male     No Sun Dinner    3
  7.     #> 3      21.01 3.50   Male     No Sun Dinner    3
  8.     #> 4      23.68 3.31   Male     No Sun Dinner    2
  9.     #> 5      24.59 3.61 Female     No Sun Dinner    4
  10.     #> 6      25.29 4.71   Male     No Sun Dinner    4
复制代码

1.png

这是一个根据 tip 占 total bill 比值大小绘制的散点图。

  1. library(ggplot2)
  2.     sp <- ggplot(tips, aes(x=total_bill, y=tip/total_bill)) + geom_point(shape=1)
  3.     sp
复制代码

2.png

网格分区

数据可以按照一个或者多个变量分开,使其在水平或者垂直方向有差异。

通过使用 facet_grid()来实现,使用vertical ~ horizontal的形式。

  1. # 以“sex”变量来分开,纵向排列
  2.     sp + facet_grid(sex ~ .)
复制代码

3.png

  1. # 以“sex”变量来分开,横向排列
  2.     sp + facet_grid(. ~ sex)
复制代码

4.png

  1. # 以“sex”变量来分开, 水平方向按时间“day”的差异排列
  2.     sp + facet_grid(sex ~ day)
复制代码

5.png

缠绕分区

分区除了按照变量以横向或者纵向方式产生,也可以彼此相连,按照特定的行列数进行排列。每个图的标签会在子图的顶端。

  1. # 按照日期的不同分离,共产生两列分区
  2.     sp + facet_wrap( ~ day, ncol=2)
复制代码

6.png

以上内容转自 数析学院 ,后续更多细节调整可以直接查看原文


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:ggplot2 gplot plot GPL reshape library

沙发
casey_c 发表于 2017-1-9 11:43:06 |只看作者 |坛友微信交流群

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-13 19:16