我想要制作许多"小图形"。
(背景说明) 我有太多的细节需要显示在单个图形中,因此我需要手动将它们分成单独的图形子集。我希望只需将所需的 ncol
和 nrow
传递给 facet_wrap
,它就会按需制作。但事实并非如此。
由于我的细节很多,空间很紧张。因此,我希望减小细节标签的大小。减小strip.text
字体大小很容易,但不幸的是strip.background
矩形不会随着字体大小而调整大小,也不提供大小参数(除了边框大小)。将其设置为element_blank()
并不能真正删除为其预留的空间,只是使相同的空间透明。
最小化的工作例:
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))
}
![具有默认灰色条纹背景的示例图像](https://istack.dev59.com/WCh4l.webp)
作为额外奖励,如何减少facets之间的间距?(在facet_wrap中是否有我错过的设置?)
在RStudio中使用
facet_wrap
渲染也需要很长时间(在没有facet_wrap的情况下速度更快)。
panel.spacing
和g$heights
只用于条带,这很有意义。但是,直到我绘制了中间结果并看到条带和绘图区之间的空间时,我才清楚你更改的最终高度是针对个别绘图区域的。您是如何选择0.05厘米作为适当的单位的? - Brian Dunit()
函数可以更改单位。 - GGamba