在python中带有图例的垂直线

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

在plotly网站中,有一个示例可以使用shape功能在plotly中添加垂直或水平线。

import plotly.plotly as py
import plotly.graph_objs as go

trace0 = go.Scatter(
    x=[2, 3.5, 6],
    y=[1, 1.5, 1],
    mode='text',
)
data = [trace0]
layout = {
    'xaxis': {
        'range': [0, 7]
    },
    'yaxis': {
        'range': [0, 2.5]
    },
    'shapes': [
        # Line Horizontal
        {
            'type': 'line',
            'x0': 2,
            'y0': 2,
            'x1': 5,
            'y1': 2,
            'line': {
                'color': 'rgb(50, 171, 96)',
                'width': 4,
                'dash': 'dashdot',
            }
        }
    ]
}

fig = {
    'data': data,
    'layout': layout,
}

py.iplot(fig, filename='shapes-lines')

但是我想知道是否有任何方法可以为水平线添加图例。

python python-3.x plotly
1个回答
0
投票

我认为目前唯一的选择是将其绘制为散点图。

例如此代码段

import plotly.graph_objects as pgo
fig = pgo.Figure()

fig.add_traces([
    pgo.Scatter(
        x=[2, 3.5, 6],
        y=[1, 1.5, 1],
        name='Yet Another Trace'
    ), 
    pgo.Scatter(
        x=[2,5],
        y=[2,2], 
        line={
            'color': 'rgb(50, 171, 96)',
            'width': 4,
            'dash': 'dashdot',
        }, name='Horizontal Line'
    )
])

fig.update_layout(**{
    'xaxis': {
        'range': [0, 7]
    },
    'yaxis': {
        'range': [0, 2.5]
    }
})

fig

生成此结果:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.