R x轴阴影与y轴附加限制

R x轴阴影与y轴附加限制,r,shiny,dygraphs,R,Shiny,Dygraphs,在这个简单的动态图上,两种不同的颜色用于高亮/着色对应于y轴正侧或负侧的值。阴影区域通常会重叠,在较大的数据系列中很难看到突出显示的事件。我想限制阴影仅覆盖y轴上图形的一半,例如,绿色阴影从0以上开始,紫色阴影从0以下开始 library(xts) library(dygraphs) data1 <- xts(matrix( c(rnorm(50, mean = 3), rnorm(50, mean = -3) ) , ncol=2, nrow=50), order.by=seq.POSI

在这个简单的动态图上,两种不同的颜色用于高亮/着色对应于y轴正侧或负侧的值。阴影区域通常会重叠,在较大的数据系列中很难看到突出显示的事件。我想限制阴影仅覆盖y轴上图形的一半,例如,绿色阴影从0以上开始,紫色阴影从0以下开始

library(xts)
library(dygraphs)
data1 <- xts(matrix( c(rnorm(50, mean = 3), rnorm(50, mean = -3) ) , ncol=2, nrow=50), order.by=seq.POSIXt(as.POSIXct("2017-10-01 00:00:00", tz="UTC"), by=3600, length.out = 50))

dygraph(data1) %>%
   dyShading(from = "2017-10-01 12:00:00",to = "2017-10-02 08:00:00", color = "rgba(10, 89, 4, 0.2)", axis = "x") %>%
   dyShading(from = "2017-10-02 00:00:00",to = "2017-10-02 16:00:00", color = "rgba(200, 200, 230, 0.4)", axis = "x") 
库(xts)
图书馆(动态图)
数据1%
遮光(从2017-10-01 12:00:00到2017-10-02 08:00:00),color=“rgba(10,89,4,0.2)”,axis=“x”)%>%
遮光(从2017-10-02 00:00:00到2017-10-02 16:00:00),color=“rgba(2002002300.4)”,axis=“x”)

我曾尝试将R dygraphs包中的.js文件更改为手动控制这些限制,但这可能不是最好的主意。y轴着色限制是否可以通过某种方式控制?一个长的解决方案就可以了。那个动态图运行在闪亮的应用程序中,若这改变了什么

更新:以下是ggplot所需效果的演示:

library(ggplot2)
library(data.table)  
data2 <- data.frame(date=index(data1), coredata(data1))
data2 <- melt(data2, id.vars = 'date')

ggplot(data2, aes(x=date, y=value, group=variable)) +
   geom_line(aes()) + 
   geom_rect(data=data2, aes(xmin=as.POSIXct("2017-10-01 12:00:00"), xmax=as.POSIXct("2017-10-02 08:00:00"), ymin=0, ymax=7), alpha=0.005, inherit.aes = FALSE) +
   geom_rect(data=data2, aes(xmin=as.POSIXct("2017-10-02 00:00:00"), xmax=as.POSIXct("2017-10-02 16:00:00"), ymin=0, ymax=-7), alpha=0.005, inherit.aes = FALSE)
库(ggplot2)
库(数据表)

数据2嗯,你说的是y轴,但你的例子是x轴?要对哪个进行着色?我正在对x轴进行着色,但需要对y轴的限制进行额外控制,以便垂直方向上的着色高度不会自动缩放到画布/窗口高度。这更清楚吗?我只提供了一个示例图来说明识别重叠阴影有多么困难。@DianaLog你找到解决方法了吗?@user189035不幸的是,没有。