R ggplot2:绘图外注释的页边距
我的问题和这个问题几乎完全一样:。被接受的答案在大多数情况下对我有效,但根据情节的大小,注释有时会从情节中脱落 我试过在y刻度上乱搞情节和图例的边距,但并没有达到我的预期效果。到目前为止,我得到的是:R ggplot2:绘图外注释的页边距,r,ggplot2,R,Ggplot2,我的问题和这个问题几乎完全一样:。被接受的答案在大多数情况下对我有效,但根据情节的大小,注释有时会从情节中脱落 我试过在y刻度上乱搞情节和图例的边距,但并没有达到我的预期效果。到目前为止,我得到的是: 库(magrittr) 图书馆(GG2) 测试@Oliver将绘图.边距单位更改为行,中,厘米对我有效,问题在于本机单位的缩放。这个解决方案对你有用吗 fig2 <- (ggplot(test, mapping = aes(x = interaction(Ye
库(magrittr)
图书馆(GG2)
测试@Oliver将绘图.边距
单位更改为行
,中
,厘米
对我有效,问题在于本机
单位的缩放。这个解决方案对你有用吗
fig2 <- (ggplot(test,
mapping = aes(x = interaction(Year, Quarter, lex.order = TRUE),
y = rate, group = area, color = area)) +
geom_line() +
coord_cartesian(ylim = c(0, yMax), expand = TRUE) +
scale_x_discrete(labels = paste0("Q", rep(1:4, 3))) +
scale_y_continuous(name = "Rate", expand = c(0,0)) +
annotate(geom = "text", label = unique(test$Year),
x = 2.5 + 4 * (0:2),
y = -yMin,
size = 5, vjust = 0) +
annotate(geom = "segment",
x = c(4.5, 8.5), xend = c(4.5, 8.5),
y = 0, yend = -yMin * 1.1) +
theme(plot.margin = margin(c(1, 1, 3, 1), unit="lines"),
axis.title.x = element_blank(),
panel.background = element_blank(),
axis.line = element_line(),
legend.position = "bottom",
legend.margin = margin(c(3, 1, 1, 1), unit="lines"),
legend.background = element_rect(fill = alpha(0.5)))
) %>%
ggplotGrob() %>%
(function(x) {
x$layout$clip[x$layout$name == "panel"] <- "off"
return(x)
}); grid.draw(fig2)
fig2%
ggplotGrob()%>%
(功能(x){
x$layout$clip[x$layout$name==“panel”]你愿意将图例移到顶部吗?@Djork我不愿意,但无论如何,如果图例很高,我不认为这会对从底部掉落的年份注释产生什么影响?我希望有一个解决方案,我不必考虑发生什么。只是因为如果我将图例移到顶部,输出似乎最一致。是本机的
单位造成了我的问题。@Djork哦,你说得对,移动图例确实缓解了不少问题。虽然看起来还是不太正确,但底部边距在像素或y轴单位上仍然不一致……嗯,仍然与图例重叠,和/或在绘图下面有一个非常大的边距。我之所以选择native
单位,首先是因为我认为它们会对绘图高度做出响应。辅助x轴标签的位置总是会对高度做出响应,因为它们位于Y轴上,所以我认为绘图边距和图例的位置也必须做出响应?A你是在打印文件吗?你有一个理想的图形高宽比吗?我计划在Rmd中使用这个绘图,我将把它编成html。我还没有弄清楚尺寸到底是什么,我希望在我需要一个更大或更小的图形时,我不必手动改变间距,你知道吗?