[英]Add a label to y-axis to show the value of y for a horizontal line in matplotlib
[英]Bokeh - how to add y value to y-axis of horizontal Span?
如何在 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)
结果:
想要的结果:
在 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])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.