【问题标题】:Getting see through ribbons on time-series in R看穿 R 中时间序列的功能区
【发布时间】:2020-07-23 03:53:13
【问题描述】:

所以我一直在尝试将半透明丝带添加到时间序列图上。我使用 ggplot 对条形图做了同样的事情,这非常有效,但是由于我正在处理的时间序列数据的大小,我无法将其输入到数据框中(使用 microsoft excel 逗号分隔值文件加载到 R)。 因此,希望能够将其转换为数据框或在其上绘制半透明块。

下面的代码和相关错误消息。

plot(Nitrate_Interp~RiverWensum$Rdates, type="l", xlab="Time", ylab="Nitrate (mg N L)", las=1, 
col="black")
rect((RiverWensum$Rdates)-1,lower_yNr,(RiverWensum$Rdates)+1,upper_yNr, density=30, col="#FF000080", 
border="red")
#defining the colour
mycol <- rgb(225,0,0,max=225,alpha=125,names="red.5")
mycol
red.5 = "#FF000080"
#error given when script run:
Error in rgb(255, 0, 0, max = 220, alpha = 125, names = "red50") : 
colour intensity 1.15909, not in [0,1]

提前感谢客栈

【问题讨论】:

  • 这需要澄清——没有可重复的例子,找到解决方案的机会很小
  • 我不知道如何给出一个可重现的例子,因为我不知道如何在不导入 excel 表的情况下绘制 Rdates(并且没有 rdates(如果 x 和 y 都是数字)这个问题是用多边形更容易解决)。 ...基本上无论我尝试将什么颜色定义为纯黑色(矩形带有红色边框,它都会变成红色)。我错过了一个包裹还是什么?

标签: r dataframe ggplot2 time-series rect


【解决方案1】:

rgb() 函数的设置为maxColorValue,而不是max,您应该将其设置为您选择的最大值(尽管它似乎有效并且似乎不是您的问题)。查看错误:

Error in rgb(255, 0, 0, max = 220...

...你的最大值也小于你的红色值,所以它不起作用。 255/220>1

【讨论】:

  • 啊,好吧 - 重新绘制了这个更改,红色仍然只是一个不透明的实心块......有什么建议吗?
  • 你做了什么改变?
  • 刚刚更改了最大位:mycol
  • 嗯,这就是你的定义......如果不是不透明的红色,你想做什么?
  • 我正在尝试使矩形具有透视效果,以便可以看到其背后的情节。所以我想要一个 50% 不透明度的红色,因此是 125 alpha
猜你喜欢
  • 1970-01-01
  • 2012-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-09
  • 1970-01-01
  • 2011-04-22
相关资源
最近更新 更多