我尝试为数据框中的每个分类值创建一个图表列表。对于每个类别,将在一个页面上绘制并排的2个图表,每个页面将包含每个类别的图表。
每项任务都是可行的,但我在组合这两项任务时遇到了问题。
1-使用此dplyr
代码可以轻松完成按类别创建绘图的任务(PDF的每页一个):
AllPlots <- dataf %>%
group_by(category) %>%
do(plots=ggplot(data=., aes(x = x, y = val)) + geom_bar(stat="identity")+ ggtitle(unique(.$category)))
pdf("plots.pdf")
invisible(lapply(AllPlots$plot, print))
dev.off()
2- grid
和gridExtra
也很容易并排绘图:
p1 = qplot(1:10, rnorm(10))
p2 = qplot(1:10, rnorm(10))
grid.arrange(p1, p2, ncol = 2, main = "Main title")
可以根据类别进行for循环,并将这些图并排排列,然后将它们组合在一个页面中。但是,我想这很慢,因为我的数据帧非常大。
问题是,如何以快速的方式同时做两件事?
答案 0 :(得分:0)
抱歉,我只想发表评论,但由于我是新人,该网站暂不让我发表评论。
如果您可以按类别进行绘制,请在开始绘制之前尝试使用 -
select deref(b.album).title
,round(avg(b2.reviewscore),2)
from album_artist_table b,table(deref(b.album).review) b2
where deref(b.artist).aname like '%Joe%'
and b2.reviewername is not null
group by deref(b.album).title;
将更改您的环境定义,并将每个页面中的2个图表放在另一个旁边。
要了解更多关于par(mfrow)的信息,你可以看看 - http://www.statmethods.net/advgraphs/layout.html