首页 > 解决方案 > 如何在 Plotly 上绘制平分线

问题描述

我有一个散点图,我需要在上面追踪平分线。我想知道 Plotly 上是否有一种自动化的方法来生成它,或者有一种简化的方法来计算 python 中的方程以生成值列表并跟踪该行。

我的代码:

trace1 = go.Scatter(
    x = eixo_x, # My list of values for 'x'
    y = eixo_y, # My list of values for 'y'
    mode = 'markers',
    marker = dict(color = 'rgb(0, 176, 240)')
)

dados = [trace1]
layout = go.Layout(
    title = 'Unitários Observados | Unitários Estimados',
    autosize = False,
    width = 1000,
    height = 500,
    xaxis = dict(
        showgrid = True),
    yaxis = dict(
        tickmode = 'array',
        showgrid = True
    )
)

fig = go.Figure(data = dados, layout = layout)
fig.show()

我的剧情:

在此处输入图像描述

现在我需要在对角线上画一条线,平分线。

编辑

关于平分线有几个问题,但对 Plotly 没有。

编辑 2

在几何学中,二等分是将某物分成两个相等或全等的部分,通常用一条线,然后称为平分线。维基百科

例子:

在此处输入图像描述

标签: pythonpython-3.xplotly

解决方案


我没有使用 Plotly 的方程式或自动函数,但以下代码暂时解决了我的问题:

我已经为 x 和 y 设置了行限制,从每个列表中获取最小值和最大值:

# Trace 2
line_x = [min(eixo_x), max(eixo_x)]
line_y = [min(eixo_y), max(eixo_y)]

并为它添加了第二条痕迹:

trace2 = go.Scatter(
    x = line_x,
    y = line_y,
    mode = 'lines',
    marker = dict(color = 'rgb(127, 127, 127)'),
    line = dict(dash = 'dash')
)

结果:

在此处输入图像描述


推荐阅读