如何绘制引导线/散景?

How to draw guide lines /w bokeh?

我用bokeh.plotting.Figure.line画了下面的图。 我如何添加垂直参考线来强调 Feb/14 的一点?

这是另一个情节。这是bokeh.charts.Bar。 我想添加水平参考线以强调 50 分。我搜索了 bokeh doc 但没能找到相关的 API 参考。如果有人能告诉我这件事,我将不胜感激。

我通过创建一组与我想要创建的垂直线相对应的新数据,在简单的折线图中添加了一条垂直线。

from datetime import *
x = [date(2001,1,1), date(2002,1,1),date(2003,1,1), date(2004,1,1),
        date(2005,1,1), date(2006,1,1),date(2007,1,1), date(2008,1,1),
        date(2009,1,1), date(2010,1,1),date(2011,1,1)]
y = [0, 3, 2, 4, 6, 9, 15, 18, 19, 25, 28]
output_file("lines.html", title="line plot example")
p = figure(title="simple line example",x_axis_type = "datetime")
p.line(x, y)
a = [min(y),max(y)]
b = [date(2009,1,1),date(2009,1,1)]
p.line(b, a ,line_color="red")
show(p)

您可以使用散景中的光线字形轻松地做到这一点。如果将角度设置为 1.57079633(弧度为 90 度),您将获得垂直光线。只需将 x 值更新为您想要线条的位置,并将长度更新为 x 轴的高度。

p.ray(x=.5, y=0, length=1, angle=1.57079633, color='black')

你可以使用零宽度或零高度的新 BoxAnnotation(Bokeh 0.9.3 的新功能)来做到这一点,效果稍好:

https://docs.bokeh.org/en/latest/docs/user_guide/annotations.html#box-annotations

可能也值得添加一个 LineAnnotation,我会为此做一个 issue。