【问题标题】:R Plotly scatter ternary colorbarR Plotly scatter 三元彩条
【发布时间】:2020-06-07 21:49:21
【问题描述】:

我正在使用 Plotly 制作散点图。我想通过数据框中的值之一(标题为 mu)为点着色。但是,颜色条没有显示。这是我的代码:

library(plotly)

df <- eqData0

# axis layout
axis <- function(title) {
  list(
    title = title,
    titlefont = list(
      size = 20
    ),
    tickfont = list(
      size = 15
    ),
    tickcolor = 'rgba(0,0,0,0)',
    ticklen = 5
  )
}


fig <- df %>% plot_ly()
fig <- fig %>% add_trace(
    type = 'scatterternary',
    mode = 'markers',
    a = ~u1eq,
    b = ~u2eq,
    c = ~bueq,
    marker = list( 
      symbol = 100,
      color = ~mu,
      size = 14,
      line = list('width' = 2),
      colorscale = 'YlGnBu'
    ),
    colorbar = list(
      xanchor = 'middle',
      yanchor = 'middle'
    )
)
m <- list(
  l = 50,
  r = 50,
  b = 100,
  t = 100,
  pad = 4
)
fig <- fig %>% layout(autosize = F, width = 500, height = 500, margin = m,
    ternary = list(
      sum = 1,
      aaxis = axis(TeX("$u_1$")),
      baxis = axis(TeX("$u_2$")),
      caxis = axis(TeX("$\\bar{u}$"))
    )

  )
fig <- fig %>% config(mathjax = 'cdn')
fig

不知何故,颜色条仍未显示!我不知道为什么,因为所有在线 Plotly 散点图示例都让显示颜色条看起来很容易。

【问题讨论】:

    标签: r plotly colorbar scatter ternary


    【解决方案1】:

    您似乎在跟踪定义中缺少showscale=TRUE
    尝试:

    #fake data:
    df <- data.frame(u1eq = c(0.2, 0.3, 0.5), u2eq=c(0.6, 0.3, 0.1), bueq=c(0.2, 0.4, 0.4), mu=c(1, 1.8, 2))
    
    # axis layout
    axis <- function(title) {
       list(
          title = title,
          titlefont = list(
             size = 20
          ),
          tickfont = list(
             size = 15
          ),
          tickcolor = 'rgba(0,0,0,0)',
          ticklen = 5
       )
    }
    
    fig <- df %>% plot_ly()
    fig <- fig %>% add_trace(
       type = 'scatterternary',
       mode = 'markers',
       a = ~u1eq,
       b = ~u2eq,
       c = ~bueq,
       marker = list( 
          colorscale = 'YlGnBu',
          symbol = 100,
          color = ~mu,
          size = 14,
          line = list('width' = 2),
          showscale   = TRUE
       )
    )
    m <- list( l = 50,  r = 50,  b = 100,  t = 100,  pad = 4) 
    
    fig <- fig %>% layout(autosize = F, width = 500, height = 500, margin = m,
                          ternary = list(
                             sum = 1,
                             aaxis = axis(TeX("$u_1$")),
                             baxis = axis(TeX("$u_2$")),
                             caxis = axis(TeX("$\\bar{u}$"))  )
    
    )  %>% config(mathjax = 'cdn')
    fig
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-09
      • 2022-09-30
      • 2018-01-06
      • 2015-11-24
      • 1970-01-01
      • 2017-10-02
      • 1970-01-01
      • 2021-12-01
      相关资源
      最近更新 更多