add_trace:控制颜色

add_trace: control the color

我有一个绘图,其中我的第一条灰色轨迹将被其他颜色的轨迹覆盖。我的问题是 plotly-version 4.7.1。以及 4.8.0 版。我无法调整颜色。

一年前,这段代码可以工作:

mysim=data.frame(x=rep(1:4,4),y=rbinom(16,10,0.5),id=rep(1:4,each=4))

my_colors<-c(             ## add the standard plotly colors
        '#1f77b4',  #// muted blue
         '#ff7f0e',  #// safety orange
         '#2ca02c',  #// cooked asparagus green
         '#d62728'  #// brick red
             ) 


plot_ly() %>%
 add_trace(x=1:4,y=rbinom(4,10,0.4),type='scatter',mode='lines',
            line=list(color='#CCCCCC',dash='dashed'),hoverinfo='skip',opacity=0.25) %>% 
  add_trace(data=mysim,x=~x,y=~y,type='scatter',mode='lines', split=~as.factor(id),
            line=list(color=my_colors),hoverinfo='skip',opacity=1) 

遗憾的是我没有那台机器了。但似乎从那时起对 plotly 进行了更改。我还尝试使用 color 参数而不是 split 并使用 colors 而不是 line 列表来指定颜色。它没有任何影响。我仍然得到这个情节:

我在这里错过了什么?我怎样才能让它发挥作用?

参见this issue

如果您使用 color 而不是 split 并且如果您在 plot_ly 函数的开头设置颜色,使用参数 colors,这将起作用:

plot_ly(colors=my_colors) %>%
  add_trace(x=1:4,y=rbinom(4,10,0.4),type='scatter',mode='lines', line=list(color='rgb(0,0,255)',dash='dashed'),hoverinfo='skip',opacity=0.25) %>% 
  add_trace(data=mysim,x=~x,y=~y,type='scatter',mode='lines', color=~as.factor(id),
            hoverinfo='skip',opacity=1)