如何在y轴上显示并突出显示水平跨度的值?
import bokeh as bk
import bokeh.plotting as bkplot
#bkplot.output_notebook() # to show inline
x = np.arange(3)
y = x**2
source = bk.models.ColumnDataSource(dict(x=x, y=y))
p = bkplot.figure(plot_width=500, plot_height=300)
glyph = bk.models.Line(x="x", y="y", line_width=6)
p.add_glyph(source, glyph)
top_span = bk.models.Span(location=3.5, dimension='width', line_color='green', line_width=2)
bottom_span = bk.models.Span(location=1.5, dimension='width', line_color='red', line_width=2)
p.renderers.extend([top_span, bottom_span])
bkplot.show(p)
结果:
所需结果:
答案 0 :(得分:1)
在Bokeh的github中已经讨论了这个问题: https://github.com/bokeh/bokeh/issues/7309
因此,尚未在轴区域和绘图区域的跨度上具有标签。
但是,如果在打印区域中可以使用标签,可以使用标签。这是我对标签所做的事情:
top_span = bk.models.Span(location=3.5, dimension='width', line_color='green', line_width=2)
top_span_label = bk.models.Label(text_color='green', text=str(top_span.location), x=0, y=top_span.location)
bottom_span = bk.models.Span(location=1.5, dimension='width', line_color='red', line_width=2)
bottom_span_label = bk.models.Label(text_color=bottom_span.line_color, text=str(bottom_span.location), x=0, y=bottom_span.location)
p.renderers.extend([top_span, top_span_label, bottom_span, bottom_span_label])