如何在Plotly子图中隐藏颜色条?R语言技术咨询
解决Plotly子图隐藏共享颜色条的问题
你遇到的问题是因为使用了共享的coloraxis,hide_colorbar()函数只对单个trace独立的颜色条生效,对全局共享的coloraxis不起作用。正确的做法是在layout()的coloraxis参数中添加showscale = FALSE来关闭颜色条显示。
修改后的完整代码如下:
library(plotly) fig1 <- plot_ly(x = c(1,2,3), y = c(4,5,6), type = 'bar', marker = list(color = c(4,5,6), coloraxis="coloraxis")) fig2 <- plot_ly(x = c(1,2,3), y = c(2,3,5), type = 'bar', marker = list(color = c(2,3,5), coloraxis="coloraxis")) fig <- subplot(fig1, fig2, shareY = TRUE) fig <- fig %>% layout(showlegend = FALSE, coloraxis=list(colorscale='RdBu', showscale = FALSE), # 新增showscale=FALSE关闭颜色条 plot_bgcolor='#e5ecf6', xaxis = list( zerolinecolor = '#ffff', zerolinewidth = 2, gridcolor = 'ffff'), yaxis = list( zerolinecolor = '#ffff', zerolinewidth = 2, gridcolor = 'ffff')) fig
补充说明:
- 当多个trace绑定到同一个
coloraxis时,颜色条由这个全局coloraxis统一控制,所有trace共用同一条颜色条。 hide_colorbar()函数仅针对单个trace自带的独立颜色条生效,所以在这个场景下无法起到作用。通过在coloraxis配置中设置showscale = FALSE,就能直接关闭共享颜色条的显示。
内容的提问来源于stack exchange,提问作者Robert Mayer
相关产品推荐
相关产品推荐

