R plotly如何填充两个绘图之间的区域,填充范围小于绘图范围?

R plotly如何填充两个绘图之间的区域,填充范围小于绘图范围?,r,plotly,R,Plotly,我正在研究R,我刚画了一个情节。问题是我需要填充两条记录道之间的区域,但不是整个范围。 我发现参数fill=“..”,但它会填充所有绘图,我需要控制在区域中填充哪个跟踪,并设置一个比绘图范围短的范围。 你能帮我做吗 A=c(0,1,2,3,4,5,6,5,4,3,2,1,0) B=rep(3,13) sem=c(0:12) p <- plot_ly(data, x = sem[order(sem)], y = A,na

我正在研究R,我刚画了一个情节。问题是我需要填充两条记录道之间的区域,但不是整个范围。
我发现参数fill=“..”,但它会填充所有绘图,我需要控制在区域中填充哪个跟踪,并设置一个比绘图范围短的范围。
你能帮我做吗

       A=c(0,1,2,3,4,5,6,5,4,3,2,1,0)
       B=rep(3,13)
       sem=c(0:12)
       p <- plot_ly(data, x = sem[order(sem)], 
       y = A,name = 'A', type = 'scatter',
       mode = 'lines') %>%
       add_trace(y = B,name = 'B', 
       mode = 'lines+markers') %>%
       layout(title = sprintf("Effect",         
       font=list(
       family = "arial",
       size = 12,
       color = 'black'),
     yaxis = list(zeroline = FALSE,title="Weight(T)"),        
     xaxis = list(range=c(-10:25),zeroline = FALSE,title="week"),
     legend=list(
     font = list(
       family = "sans-serif",
       size = 12,
       color = "#000"),
       bgcolor = "#E2E2E2",
       bordercolor = "#FFFFFF",
       borderwidth = 2))
A=c(0,1,2,3,4,5,6,5,4,3,2,1,0)
B=代表(3,13)
sem=c(0:12)
p%
添加_跟踪(y=B,name=B),
模式='行+标记')%>%
布局(标题=sprintf(“效果”,
字体=列表(
family=“arial”,
尺寸=12,
颜色=‘黑色’,
yaxis=list(zeroline=FALSE,title=“权重(T)”),
xaxis=list(范围=c(-10:25),zeroline=FALSE,title=“week”),
图例=列表(
字体=列表(
family=“sans serif”,
尺寸=12,
color=“#000”),
bgcolor=“#e2e2”,
bordercolor=“#FFFFFF”,
边框宽度=2)

我不太熟悉着色的绘图语法。这里是ggplot的替代方法:

ggplot(data, aes(x=sem)) + 
      geom_line(aes(y = A)) + 
      geom_line(aes(y = B)) +
      geom_ribbon(data=subset(data, 3 <=  sem & sem <= 9), 
                  aes(ymin=B, ymax= A), fill="blue", alpha="0.5")
ggplot(数据,aes(x=sem))+
几何线(aes(y=A))+
几何线(aes(y=B))+

geom_功能区(数据=子集(数据,3当你问问题时请提供一个例子。一个预期输出的例子也会非常有帮助。对不起,我编辑了我的帖子并添加了一个图片帮助。首先,感谢你的回答亚当。你认为我可以用ggplot2做同样的事情吗?如果是的话,也许我可以用同样的方法来做plotly。另外,我得到了这个工具ror当我尝试你的代码时:
*tmp*
+geom_line(aes(y=B))中的错误:二进制运算符的非数字参数由于你的帖子中没有给出
数据的语法,我假设:
数据是的,现在可以了。关于信息,我设法用plotly做到了:
p非常感谢亚当