【发布时间】:2017-09-05 14:57:55
【问题描述】:
我已经组合了一个简单的 for 循环来生成一系列图,然后使用 grid.arrange 来绘制它们。我有两个问题:
图表的轴正确地更改为列名,但在每个图表上绘制相同数据。设置断点并逐步执行代码后,它似乎正在正确递增,所以我不确定为什么。
我已将情节美学设置为按年分组,但这会产生出现在图例中的中间 0.5 年。我以前没有遇到过这种情况。
应该都可以使用mtcars 重现。
library(ggplot2)
library(gridExtra)
result <- mtcars
for(i in 1:2) {
nam <- paste("p", i, sep = "")
assign(
nam, ggplot(result, aes(x = disp, y = results[i+4], group = gear, color = gear)) +
geom_line() +
geom_point() +
scale_colour_distiller(palette = "Dark2", direction = -1, guide = "legend") +
scale_y_continuous(name = colnames(results[i+4])) +
scale_x_continuous(name = "x")
)
}
plist <- mget(paste0("p", 1:2))
do.call(grid.arrange, plist)
【问题讨论】:
-
我不确定您要达到什么目的,但您检查过
facet_wrap()吗?如果数据来自同一个数据集,它可能就是您所需要的。