我正在嘗試製作大量的「小倍數」圖。 (Aside/Background)我有太多的方面要顯示在一個單一的情節,所以我需要手動將它們分組到不同的情節。我希望我可以通過所需的ncol
和nrow
到facet_wrap
,它會盡可能地多我所需要的。事實並非如此。調整strip.background以匹配ggplot中的strip.text facet_wrap
因爲我有很多方面,空間是非常寶貴的。所以,我想減少facet標籤的大小。容易減少strip.text
字體的大小,但遺憾的是strip.background
矩形不符合字體大小,也不提供尺寸參數(除了邊框尺寸)。將其設置爲element_blank()
實際上並沒有刪除爲其留出的空間,它只是使相同的空間透明。
MWE:
set.seed(1)
xcat = rep(1:10, 1000)
yvalue1 = rep(runif(10,5,7),1000)
yvalue2 = rep(runif(10,4,6),1000)
id = rep(1:1000,each=10)
df = data.frame(id,xcat,yvalue1,yvalue2)
for(i in seq(1, length(unique(df$id)), by=100)){
print(
ggplot(subset(df, id %in% unique(df$id)[i:(i+99)]), aes(x=xcat)) +
annotate("line", y=yvalue1, x=xcat, colour="cornflowerblue") +
annotate("line", y=yvalue2, x=xcat, colour="grey20") +
theme(axis.text.x = element_text(size=5),
axis.text.y = element_text(size=5),
strip.text = element_text(size=5)) +
facet_wrap(~id, ncol=10, nrow=10) +
expand_limits(y=0))
}
我如何能減少strip.background的高度,使得它不會佔用這麼大的空間的任何想法?理想情況下,它將根據id文本的確切高度來確定大小。
作爲獎勵,如何減少facets之間的間距? (是否有facet_wrap我失蹤的設置?)
它也需要很長一段時間在RStudio渲染與facet_wrap
(不facet_wrap它的速度要快得多。
太棒了!我把整個事情都追溯到最後一部分。 'panel.spacing'和'g $ heights'只是這些條是有道理的。但我不清楚,你改變的最終高度是個別的陰謀地區,直到我繪製中間結果,並看到條和地塊之間的空間。你是如何選擇0.05釐米作爲合適的單位的? –
這似乎是一個明智的價值,難的部分確實是找到合適的一個。不知道爲什麼,但我一直無法從'cm'更改爲任何其他單位,例如'pt',因爲它通常是'unit()'的情況。 – GGamba