首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当“水平=假”时,ggforce添加水平缩放背景

当“水平=假”时,ggforce添加水平缩放背景
EN

Stack Overflow用户
提问于 2022-10-21 10:26:18
回答 1查看 24关注 0票数 0

考虑一下这个相对简单的图(添加红色只是为了更好地演示这个问题)。

代码语言:javascript
复制
library(ggplot2)
library(ggforce)

ggplot(iris, aes(Petal.Length, Petal.Width, colour = Species)) +
    geom_point() +
    facet_zoom(x = Species == "versicolor") +
    theme(zoom = element_rect(fill = "red"))

现在,我想调整缩放部分(较低的部分)的ylim

代码语言:javascript
复制
ggplot(iris, aes(Petal.Length, Petal.Width, colour = Species)) +
    geom_point() +
    facet_zoom(
        x = Species == "versicolor",
        ylim = c(0.5, 2.5),
        horizontal = FALSE
    ) +
    theme(zoom = element_rect(fill = "red"))

所以我们添加ylimhorizontal = FALSE,因为我们只需要垂直缩放。然而,ggforce仍然添加了一个水平缩放指示器(红色水平条)。有可能摆脱它吗?所以我们只能得到像上面那样的垂直变焦指示器?

非常感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-21 10:50:15

你误解了horizontal的工作。当我阅读文档时,horizontal习惯于缩放面板的位置(参见?facet_zoom):

缩放面板应该如何相对于完整的数据面板定位?

此外,使用x = Species == "versicolor",您可以指定要将x的范围缩放到versicolor数据。在添加ylim时,还可以添加y轴的缩放。这就是“变焦指示器”所显示的。

但解决办法是通过主题选项将不需要的“缩放指示器”的填充颜色设置为NA

代码语言:javascript
复制
library(ggplot2)
library(ggforce)

ggplot(iris, aes(Petal.Length, Petal.Width, colour = Species)) +
  geom_point() +
  facet_zoom(
    x = Species == "versicolor",
    ylim = c(0.5, 2.5),
    horizontal = FALSE
  ) +
  theme(zoom.x = element_rect(fill = "red"), zoom.y = element_rect(fill = NA))

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74152264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档