如何在標籤在標籤間變化時自動準確地將繪圖區域的寬度與ggplot保持一致?例如,下面是兩張圖(數據和代碼跟隨),其中第二張圖的標籤較長,因此繪圖區的寬度變得更小以騰出空間。ggplot中的一致繪圖寬度(不包括標籤)
我知道我可以在第二個圖上手動使圖形寬度變寬,但是1)我不能以編程方式做到這一點,2)除非我有足夠的耐心和時間,否則它不會確切。
我甚至不知道如何搜索我在這裏稱爲「繪圖區」的內容,所以即使在術語中提供任何幫助都是有幫助的。
這裏的代碼來生成數據和圖表:
set.seed(5)
d1 <- expand.grid(x=LETTERS[1:3], g=letters[1:3], rep=1:10)
d1$y <- round(rnorm(nrow(d1), 10, 2), 1)
d2 <- expand.grid(x=LETTERS[1:3], g=letters[1:3], rep=1:10)
d2$y <- round(rnorm(nrow(d1), 10, 2), 1)
levels(d2$x) <- sapply(levels(d2$x), strrep, 10)
levels(d2$g) <- sapply(levels(d2$g), strrep, 10)
library(ggplot2)
p1 <- ggplot(d1) + aes(x, y, color=g) + geom_boxplot() + coord_flip()
p2 <- ggplot(d2) + aes(x, y, color=g) + geom_boxplot() + coord_flip()
ggsave("test1.pdf", p1)
ggsave("test2.pdf", p2)
'cowplot'中可能會有一些有用的對齊工具... –
我正在調查它,謝謝! – Aaron
你可以看看[this](https://stackoverflow.com/questions/16255579/how-can-i-make-consistent-width-plots-in-ggplot-with-legends),問題已經解決了 –