plotly - 添加具有默认网格颜色的 vline

问题描述 投票:0回答:1

我想添加一条具有默认网格颜色的 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


[

python plotly
1个回答
0
投票

您可以使用

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
© www.soinside.com 2019 - 2024. All rights reserved.