Plotly中rangeselector按钮背景色设置不生效如何解决
问题结论
Plotly 完全支持修改 rangeselector 范围选择器按钮的背景色,你之前配置不生效的核心原因是配置层级写错+属性名拼写错误。
失效原因说明
- 你之前编写的
updatemenus层级配置,仅对自定义的全局更新菜单生效,x轴挂载的rangeselector是独立组件,不属于全局updatemenus的配置范围,因此该配置不会作用到范围选择器上。 - 你之前尝试的
activebgcolor是错误属性名,rangeselector 选中态按钮的背景色属性不存在bg后缀。
正确配置方法
rangeselector 相关样式全部挂载在xaxis.rangeselector配置层级下,和按钮背景相关的属性共3个:
bgcolor:设置范围选择器整个容器的背景色activecolor:设置当前选中状态按钮的背景色- 单个按钮的
bgcolor:在buttons列表的每个按钮配置项中单独设置,控制未选中状态下对应按钮的背景色
替换你原有代码中rangeselector相关的配置段即可,参考代码如下:
fig.update_layout( xaxis=dict( rangeselector=dict( # 范围选择器整体容器背景 bgcolor = "#2a2a2a", # 选中状态按钮背景 activecolor = "grey", # 按钮字体配置 font = dict(color = "black"), buttons=list([ dict(count=1,label="1m",step="month",stepmode="backward", bgcolor="lightgrey"), dict(count=3,label="3m",step="month",stepmode="backward", bgcolor="lightgrey"), dict(count=6,label="6m",step="month",stepmode="backward", bgcolor="lightgrey"), dict(count=1,label="YTD",step="year",stepmode="todate", bgcolor="lightgrey"), dict(step="all", bgcolor="lightgrey") ]) ), rangeslider=dict(visible=False), type="date" ) )
配置前请删除你之前写的全局
updatemenus配置段,该配置对rangeselector无效,还可能干扰其他自定义菜单的样式。
内容的提问来源于stack exchange,提问作者Divyank
相关产品推荐
相关产品推荐

