多次单独绘制 [英] Multiple separate plots in one go

查看:193
本文介绍了多次单独绘制的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用ggplot2:

  qplot(克拉,价格,数据=钻石)+ facet_grid(cut〜color〜晰度)

不是我所希望的。怎么可能这样做,除了产生单独的网格每个清晰级别的情节,例如

  qplot(克拉,价格, data = diamonds [diamonds $ clarity ==SI2,])+ facet_grid(cut〜color)
qplot(克拉,价格,数据=钻石[diamonds $ clarity ==VS1,])+ facet_grid(剪〜颜色)

等等。


解决方案

这是我会做的:

  base = qplot(carat,price,data = diamonds)+ facet_grid(cut〜color)
lp = dlply(diamonds,clarity,`%+ %`,e1 = base)

library(gridExtra)
do.call(grid.arrange,lp)#全部在一页中

#或多个页面(布局传递给grid.arrange)
all = do.call(marrangeGrob,c(lp,ncol = 2,nrow = 1))
ggsave(multipage.pdf,all,width = 12)


Using ggplot2:

qplot(carat, price, data = diamonds) + facet_grid(cut ~ color ~ clarity)

Not quite what I hoped. How could something like this be done, except producing separate grids of plots per level of clarity, e.g.

qplot(carat, price, data = diamonds[diamonds$clarity=="SI2", ]) + facet_grid(cut ~ color)
qplot(carat, price, data = diamonds[diamonds$clarity=="VS1", ]) + facet_grid(cut ~ color)

and so on.

Something using cast would be perfect.

解决方案

Here's what I would do:

base = qplot(carat, price, data = diamonds) + facet_grid(cut ~ color)
lp = dlply(diamonds, "clarity", `%+%`, e1 = base)

library(gridExtra)
do.call(grid.arrange, lp) # all in one page

# or multiple pages (with layout passed to grid.arrange)
all = do.call(marrangeGrob, c(lp, ncol=2, nrow=1))
ggsave("multipage.pdf", all, width=12) 

这篇关于多次单独绘制的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆