Python Plotly 中的水平线散点图

min*_*bro 1 python plotly plotly-python

我正在寻找一种在 Plotly 散点图中绘制两条水平线的方法。我的x轴索引不是固定的并且每次都在变化。所以我正在寻找 y = 5 和 y = 18 处水平穿过图表的水平线

在这里寻找解决方案,但我不确定如何使用 Plotly Express 的布局

我的散点图代码:

import plotly.express as px
df = pd.DataFrame({"x":[0, 1, 2, 3, 4,6,8,10,12,15,18], "y":[0, 1, 4, 9, 16,13,14,18,19,5,12]})
fig = px.scatter(df, x="x", y="y")
fig
Run Code Online (Sandbox Code Playgroud)

Anw*_*vic 5

是的,您可以使用 来做到这一点fig.update_layout(),具体方法如下:

import pandas as pd
import plotly.express as px

df = pd.DataFrame({ "x":[0, 1, 2, 3, 4,6,8,10,12,15,18],
                    "y":[0, 1, 4, 9, 16,13,14,18,19,5,12]})
fig = px.scatter(df, x="x", y="y")

# add two horizontal lines
fig.update_layout(shapes=[
    # adds line at y=5
    dict(
      type= 'line',
      xref= 'paper', x0= 0, x1= 1,
      yref= 'y', y0= 5, y1= 5,
    ),
    # adds line at y=18
    dict(
      type= 'line',
      xref= 'paper', x0= 0, x1= 1,
      yref= 'y', y0= 18, y1= 18,
    )
])

fig.show()
Run Code Online (Sandbox Code Playgroud)

生成此图: 在此输入图像描述

我不知道是否有更简单的方法,但这就是我会使用的