r - 纹理 geom_ribbon 类似于 barplot,具有参数 a) 密度和 b) 角度
问题描述
有没有办法将参数“密度”和“角度”或“ggplot::barplot”中的任何其他有趣的参数引入“ggplot::geom_ribbon”?
我一直在寻找geom_ribbon 的基本纹理——比如点、十字和线——,而不是仅仅用可变颜色“填充”它们。我看到了ggtexture包,但它使用 .svg 外部文件,并且确实包含条形图,但显然不包含类似于 geom_ribbons 的功能区。最有希望的是我在这里看到的条形图:带有纹理的条形图示例。我的意思是,根据描述,geom_ribbon 接近于绘制条形图,就好像它们是 y 高度的区域一样。
但是,我不明白如何自己修改源代码。
解决方案
您可以尝试 (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()
推荐阅读
- python - 如何读取 zip 文本文件?
- ios - fade swipeAction 动画完成后如何重新加载 tableview 数据
- mongodb - mongoexport 工具有没有办法以 .net 编码导出 guid?
- angular - 如何访问资产文件夹中的图像文件?[角7]
- javascript - 可以使用 Window/onunload 事件在 Vue Store 中调度操作吗
- validation - 如何从 OnValidate 事件处理程序中检查字段的先前值?
- go - fmt.Printf("%f\n",x) 将 Float64 舍入为 Float32,但 fmt.Println(x) 不会
- php - 为什么我的 PHP 插入了正确数量的行,但行中没有数据?
- rest - OpenID Connect / oAuth:如何允许 OpenId Provider 在依赖方(客户端)端访问用户数据
- ubuntu - 与其他 hadoop 生态系统一起安装 Ambari