Plotly中如何添加与默认网格颜色一致的垂直线
Plotly中如何添加与默认网格颜色一致的垂直线
嗨,看你提供的示例图,现在垂直线的颜色和默认网格还不太匹配,我来教你怎么解决这个问题~
你不用手动指定lightgray这种固定颜色,Plotly的模板里已经内置了网格的颜色参数,直接调用就好啦!因为你用了plotly_dark模板,默认网格的颜色是模板预设的,我们可以直接从图表布局里获取这个颜色值,再把它传给垂直线的line_color参数。这样不管你后续切换什么模板,垂直线的颜色都会自动和网格保持一致,不用每次手动调整颜色代码。

修改后的代码如下:
import plotly.graph_objects as go def main(): x = [1, 2, 3, 4, 5] y = [10, 11, 12, 11, 9] fig = go.Figure() fig.add_trace(go.Scatter(x=x, y=y, mode='lines')) # 直接获取x轴网格的默认颜色,赋值给垂直线 fig.add_vline(x=2.5, line_width=.5, line_dash="solid", line_color=fig.layout.xaxis.gridcolor) fig.update_layout(title='demo',template="plotly_dark",xaxis_title='x', yaxis_title='y') fig.show() return if __name__ == "__main__": main()
如果想要匹配y轴的网格颜色,只需要把fig.layout.xaxis.gridcolor换成fig.layout.yaxis.gridcolor就行,是不是很方便?
备注:内容来源于stack exchange,提问作者lucky1928




