add_trace:控制颜色

时间:2018-09-05 07:29:53

标签: r colors plotly r-plotly

我有一个图,其中我有第一个灰色的迹线,该迹线将被其他颜色的迹线覆盖。我的问题是在plotly版本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列表来指定颜色。它没有任何影响。我仍然得到这个情节:enter image description here

我在这里想念什么?我该如何运作?

1 个答案:

答案 0 :(得分:2)

请参见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)