【问题标题】:add_trace: control the coloradd_trace:控制颜色
【发布时间】:2019-02-10 06:21:50
【问题描述】:

我有一个情节,其中我的第一个灰色轨迹将被其他颜色的轨迹覆盖。我的问题是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-list 来指定颜色。它没有任何影响。我仍然得到这个情节:

我在这里缺少什么?我怎样才能让它工作?

【问题讨论】:

    标签: r colors plotly r-plotly


    【解决方案1】:

    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) 
    

    【讨论】:

    • 这个!!!我不敢相信我现在才看到这个——它解决了我两年多来的一个问题。这样symbol也可以通过如下方式设置:symbols = c("key1" = "symbol1", "key2" = "symbol2")。对于 colors = c("key1" = "color1", "key2" = "color2") 这样的颜色也可以这样做。当具有大量add_traces 的 for 循环中的颜色顺序发生变化时,需要这样做。更多可以在这里看到:github.com/plotly/plotly.R/issues/790#issuecomment-931292330
    猜你喜欢
    • 2017-12-08
    • 1970-01-01
    • 1970-01-01
    • 2018-11-01
    • 2011-03-31
    • 2014-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多