geom_ribbon 中的渐变

发布于 2024-10-16 05:56:20 字数 402 浏览 6 评论 0原文

我有以下 ggplot2 代码,用于绘制从第三个四分位数到第 97 个四分位数的功能区:

h <- ggplot(l, aes(x=age[limit]))
h <- h + geom_ribbon(aes(ymin=X3rd[limit], ymax=X97th[limit]), fill="gray80") 
h

geom_ribbon 帮助页面建议梯度、梯度2等是用于填充该几何图形的“相关比例”。我想要的是让丝带在外面呈浅灰色,在中间变成深灰色,然后在外面再次变成浅灰色,但我得到的印象是渐变不能(并且一些谷歌结果强化了这种印象)实际上应用于丝带。

I have the following ggplot2 code that plots the ribbon from the 3rd to the 97th quartile:

h <- ggplot(l, aes(x=age[limit]))
h <- h + geom_ribbon(aes(ymin=X3rd[limit], ymax=X97th[limit]), fill="gray80") 
h

The geom_ribbon help page suggests that gradient, gradient2, etc are 'related scales' for fill for this geom. What I'm after is to have the ribbon light grey on the outside, to darker grey in the middle then lighter grey again on the outside, but I get the impression (and some google results strengthen this impression) that the gradients can't actually be applied to ribbon.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

要走就滚别墨迹 2024-10-23 05:56:20

geom_ribbon 不支持渐变。
相反,如果我正确理解你想要做什么,那么重叠的丝带可能会很有用:

d <- data.frame(x=1:10, m=runif(10))
d <- transform(d, l1=m-1, l2=m-2, u1=m+1, u2=m+2)

ggplot(d, aes(x)) + 
  geom_ribbon(aes(ymin=l2, ymax=u2), fill="grey60") + 
  geom_ribbon(aes(ymin=l1, ymax=u1), fill="grey40")

geom_ribbon does not support gradient.
Instead, if I correctly understand what you want to do, then overlapping ribbons may be useful:

d <- data.frame(x=1:10, m=runif(10))
d <- transform(d, l1=m-1, l2=m-2, u1=m+1, u2=m+2)

ggplot(d, aes(x)) + 
  geom_ribbon(aes(ymin=l2, ymax=u2), fill="grey60") + 
  geom_ribbon(aes(ymin=l1, ymax=u1), fill="grey40")
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文