在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')
但是我想知道是否有任何方法可以为水平线添加图例。
我认为目前唯一的选择是将其绘制为散点图。
例如此代码段
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
生成此结果: