我想添加一条具有默认网格颜色的 vline。下面的代码使用
lightgray
作为vline颜色,如何使其与默认网格颜色相同?
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'))
fig.add_vline(x=2.5, line_width=.5, line_dash="solid", line_color="lightgray")
fig.update_layout(title='demo',template="plotly_dark",xaxis_title='x', yaxis_title='y')
fig.show()
return
您可以使用
fig.layout.template.layout.xaxis.linecolor
获取垂直网格线颜色,使用 fig.layout.template.layout.yaxis.linecolor
获取水平网格线颜色。通常是相同的颜色,所以没关系。
但是要拥有它,必须首先使用新主题更新图形,因此必须将 update_layout 放在第一位。所以代码如下:
import plotly.graph_objects as go
def main():
x = [1, 2, 3, 4, 5]
y = [10, 11, 12, 11, 9]
fig = go.Figure()
fig.update_layout(
title="demo", template="plotly_dark", xaxis_title="x", yaxis_title="y"
)
grid_color = fig.layout.template.layout.xaxis.gridcolor
fig.add_trace(go.Scatter(x=x, y=y, mode="lines"))
fig.add_vline(x=2.5, line_width=0.5, line_dash="solid", line_color=grid_color)
fig.show()
return