首页 > 解决方案 > 纹理 geom_ribbon 类似于 barplot,具有参数 a) 密度和 b) 角度

问题描述

有没有办法将参数“密度”和“角度”或“ggplot::barplot”中的任何其他有趣的参数引入“ggplot::geom_ribbon”?

我一直在寻找geom_ribbon 的基本纹理——比如点、十字和线——,而不是仅仅用可变颜色“填充”它们。我看到了ggtexture包,但它使用 .svg 外部文件,并且确实包含条形图,但显然不包含类似于 geom_ribbons 的功能区。最有希望的是我在这里看到的条形图:带有纹理的条形图示例。我的意思是,根据描述,geom_ribbon 接近于绘制条形图,就好像它们是 y 高度的区域一样。

但是,我不明白如何自己修改源代码。

标签: rggplot2texturesgeom-ribbon

解决方案


您可以尝试 (non-CRAN) package ggpattern,如Ian Campbell 最近的问答所示

这是一个使用 a 的演示geom_ribbon_pattern

remotes::install_github("coolbutuseless/ggpattern")
library(ggpattern)

x <- seq(pi/2, 20, 0.1)
df <- data.frame(x, lower = 10 * (cos(x)/x - .3), upper = (10 * -cos(x)/x + .3))
ggplot(df) +
  geom_ribbon_pattern(aes(x, ymin = lower, ymax = upper), fill = "gray95",
                      color = "black", 
                      pattern = "stripe",
                      pattern_fill = "gray80",
                      pattern_angle = 45,
                      pattern_density = 0.2,
                      pattern_spacing = 0.05) +
  coord_equal() +
  theme_classic()

在此处输入图像描述


推荐阅读