考虑使用python API绘制散点图的以下MWE:import plotly.plotly as py
import plotly.graph_objs
import plotly.offline
plotly.offline.init_notebook_mode()
data = list(range(10))
trace = plotly.graph_objs.Scatter(
x=list(range(len(data))),
y=data
)
plotly.offline.iplot([trace])
如果我现在想在这个图上加一条水平线呢?
我浏览了文档,例如关于line and scatter和line charts的部分,但是没有一个示例涉及如何覆盖不同的绘图,或者只是简单地绘制直线和类似的形状。
一种简单的方法是将直线作为第二个散点图添加,如下所示:import plotly.plotly as py
import plotly.graph_objs
import plotly.offline
plotly.offline.init_notebook_mode()
data = list(range(10))
trace = plotly.graph_objs.Scatter(
x=list(range(len(data))),
y=data
)
trace_line = plotly.graph_objs.Scatter(
x=list(range(len(data))),
y=[4] * len(data),
mode='lines'
)
plotly.offline.iplot([trace, trace_line])
不过,这种方法似乎不太理想:除了添加单行所需的详细信息外,它还使我手动“采样”直线,并在鼠标悬停时将行高添加到工具提示中。
有没有更好的方法来实现这一点?