有没有一种方法可以迫使facet_zoom()函数从图形的侧面而不是底部的包ggforce中缩放?
我有这个密码
require(dplyr)
require(tidyverse)
require(ggforce)
g + facet_zoom(xlim = c(x1,x2)))我该怎么做?
编辑
通过Stefan提供的非常好的答案,我可以添加一张代表我想要的东西的图片(我肯定对其他方法开放)。

发布于 2022-11-04 18:48:36
这是可能的,但它需要一点黑客。就我从文档中获得的信息而言,这只能在x和y方向上放大时才能实现。为此,您可以将y方向的缩放设置为y=TRUE,然后设置split=FALSE和horizontal = TRUE。这样做会将缩放面板放置在主图的左边。此外,我们还必须通过y选项zoom.y消除缩放方向的背景填充。
使用以前的post中的示例数据和代码
注意:使用theme_bw的一个副作用是,我们在面板边框上得到了一些段,它们连接主面板和缩放面板。就我个人而言,我不喜欢这样,所以我将color=NA添加到theme(zoom.y = element_rect(fill = NA, color = NA))中以删除这些行。
DebitH %>%
ggplot(aes(x = Date, y = Débit_horaire)) +
geom_point(alpha = 6 / 10, size = 0.3, color = "blue") +
geom_line(alpha = 4 / 10, size = 0.5, color = "blue") +
labs(x = "Date", y = "Débit Horaire (m3/s)") +
theme_bw() +
theme(
panel.grid.major.y = element_line(
color = "grey",
size = 0.25,
linetype = 2
),
legend.position = "none"
) +
facet_zoom(
xlim = as.POSIXct(c("2021-01-15 00:00:00", "2021-02-15 00:00:00")),
y = TRUE, zoom.size = .5,
split = FALSE, horizontal = TRUE
) +
theme(zoom.y = element_rect(fill = NA, color = NA))

发布于 2022-11-04 18:27:27
ggplot(iris, aes(Petal.Length, Petal.Width, colour = Species)) +
geom_point() +
facet_zoom(y = Species == 'versicolor')是像这样吗?(在y轴上放大)
https://stackoverflow.com/questions/74321190
复制相似问题