首页>Program>source

我在此处

看到了一个ggplot2图
library(ggridges)
library(tidyverse)
ggplot(iris, aes(x = Sepal.Length, y = Species)) + 
  geom_rect(xmin = 4, xmax = 7, ymin = 1, ymax = 6,
            fill = '#d6d6d6') +
  geom_density_ridges() +
  theme_ridges()

我怎样才能使网格绘制在我的geom_rect而不是我的geom_density_ridge的顶部? 我已经看到了将网格放置在 all顶部的功能 在此处

引用的数据

+ theme( panel.background = element_rect(fill = NA), panel.ontop = TRUE )

但是我真正想要的是成为 in-between 几何图形

最新回答
  • 1月前
    1 #

    实际上不可能将面板网格移动到某些几何图形上,而不能移动到其他几何图形上(至少在没有渲染ggplot并破解底层grob的情况下如此)。

    但是,显而易见的解决方法是使用 hline制作网格 和 vline 宝石:

    library(ggridges)
    library(tidyverse)
    ggplot(iris, aes(x = Sepal.Length, y = Species)) + 
      geom_rect(xmin = 4, xmax = 7, ymin = 1, ymax = 6,
                fill = '#d6d6d6') +
      geom_hline(aes(yintercept = Species), color = "gray70") +
      geom_vline(data = data.frame(Sepal.Length = 4:8),
                                   aes(xintercept = Sepal.Length),
                 color = "gray70") +
      geom_density_ridges() +
      theme_ridges() 
    

  • python:何时使用defaultdict与使用copy
  • button:Javascript切换不适用于元素的子代和子代的同级