我试图使用gridExtra包的arrange()
函数将多个ggplot2
时间序列图放在一个页面上,不幸的是,我发现x轴标签被推到了一起;绘图区放置的X轴标签数似乎与整页图表相同,尽管我的图表只占页面的1/4。有更好的方法吗?我不希望手动设置任何点,因为我将处理大量跨越不同日期范围并具有不同频率的图表。
下面是一些重现该问题的示例代码:
dfm <- data.frame(index=seq(from=as.Date("2000-01-01"), length.out=100, by="year"),
x1=rnorm(100),
x2=rnorm(100))
mydata <- melt(dfm, id="index")
pdf("test.pdf")
plot1 <- ggplot(mydata, aes(index, value, color=variable))+geom_line()
plot2 <- ggplot(mydata, aes(index, value, color=variable))+geom_line()
plot3 <- ggplot(mydata, aes(index, value, color=variable))+geom_line()
plot4 <- ggplot(mydata, aes(index, value, color=variable))+geom_line()
arrange(plot1, plot2, plot3, plot4, ncol=2, nrow=2)
dev.off()
2条答案
按热度按时间0pizxfdo1#
旋转轴标签
请注意,
opts
在当前版本的ggplot2中已弃用。此功能已移至theme()
:或稀释x轴
要自动移动标签,我认为arrange()函数需要修改(尽管我不确定如何修改)。
vatpfxk52#
我编写这个函数是为了返回适当的主轴断点,假设您需要一些设置数量的主轴断点。
因此,它不会总是在10年内固定断裂,而是在适当的间隔内产生固定数量的断裂。
或