【发布时间】:2016-04-14 04:10:31
【问题描述】:
我正在通过一个循环绘制数百个图。每个图都有不同的参数,这导致 y 轴标签的范围从例如某些图中的 0.1-0.9 到其他图中的 100-1000。现在,当它们被绘制时,绘图的总大小保持不变,这意味着当 y 轴标签很长时,y 轴的位置向右移动,或者向左移动,当标签很短。
我想修复所有地块的面板宽度。本质上,如果标签很短,y 轴标题的左侧会有空白。
我的问题与此有些相似,但我对gtable 的了解不足,无法修改我想要的解决方案。 How achieve identical facet sizes and scales in several multi-facet ggplot2 graphics?
玩具示例:
df <- data.frame(x = c(rnorm(10, 0.1, 0.1), rnorm(10, 1000, 100)),
y = c(rnorm(10, 0.1, 0.1), rnorm(10, 10000, 100)),
name = c(rep(1, 10), rep(2, 10)))
for(i in 1:2){
p <- ggplot(df[df$name == i,]) +
geom_point(aes(x = x, y = y))
filename <- paste("fig", i, ".jpg", sep = "")
jpeg(filename, width = 6.5, height = 5.5, units = "in", pointsize = 12, quality = 100, res = 500)
print(p)
dev.off()
}
【问题讨论】: