R plotly-打印分组图表时如何固定颜色

R plotly-打印分组图表时如何固定颜色,r,colors,bar-chart,plotly,R,Colors,Bar Chart,Plotly,我正在尝试使用plotly绘制重叠的直线图和条形图,并按相同的功能grp分组 我需要使用线和条的固定颜色 当我第一次添加条跟踪时,它运行良好: library(plotly) df <- data.frame(year = rep((2000:2017), each=2), grp = rep(c("Grp1", "Grp2"), 18), y1 = rnorm(36, 100, 40), y2 = rnorm

我正在尝试使用plotly绘制重叠的直线图和条形图,并按相同的功能grp分组
我需要使用线和条的固定颜色

当我第一次添加条跟踪时,它运行良好:

library(plotly)

df <- data.frame(year = rep((2000:2017), each=2),
             grp = rep(c("Grp1", "Grp2"), 18),
             y1 = rnorm(36, 100, 40),
             y2 = rnorm(36, 50, 10)
             )


plot_ly(df) %>% 
   add_trace( x = ~year, y = ~y1, 
           type = 'bar', 
           yaxis = "y2",
           opacity = .4, 
           color = ~grp, 
           colors = colorRamp(c("grey", "black"))) %>%
   add_trace(x = ~year, y = ~y2, 
           type = 'scatter', 
           mode = 'lines+markers', 
           linetype = ~grp,
           line = list(color = "red")) %>% 
   layout(yaxis2 = list(overlaying = "y",
                     side = "right")) 

显然,我的语法是错误的:有人知道如何正确地编写此代码,以确保颜色稳定,无论顺序是什么吗


非常感谢

尝试在
绘图中指定
颜色

plot_ly(df, colors = colorRamp(c("grey", "black"))) %>% 
  add_trace(x = ~year, y = ~y2, 
       type = 'scatter', 
       mode = 'lines+markers', 
       linetype = ~grp,
       line = list(color = "red")) %>% 
  add_trace( x = ~year, y = ~y1, 
       type = 'bar', 
       yaxis = "y2",
       opacity = .4, 
       color = ~grp) %>%
  layout(yaxis2 = list(overlaying = "y",
       side = "right")) 

好的,谢谢。但我仍然不明白为什么切换add_line()会有不同的输出。我想我用的方法不对,但什么是正确的方法?
plot_ly(df, colors = colorRamp(c("grey", "black"))) %>% 
  add_trace(x = ~year, y = ~y2, 
       type = 'scatter', 
       mode = 'lines+markers', 
       linetype = ~grp,
       line = list(color = "red")) %>% 
  add_trace( x = ~year, y = ~y1, 
       type = 'bar', 
       yaxis = "y2",
       opacity = .4, 
       color = ~grp) %>%
  layout(yaxis2 = list(overlaying = "y",
       side = "right"))