Python Bokeh 堆叠条形图 - 如何在条形内显示数据标签?

Python Bokeh Stacked Bar Chart - How to display data label inside bars?

我目前正在使用此示例通过 Bokeh 创建条形图:http://docs.bokeh.org/en/0.11.0/docs/gallery/stacked_bar_chart.html

到目前为止一切正常,但是我找不到像下图这样向每个条形图添加数据值的方法: http://docs.bokeh.org/en/latest/docs/gallery/elements.html

Bokeh.Charts.Barclass没有Bokeh.Plotting.Figure那样的.text()函数。无论如何,我是否可以将元素图表之类的数据添加到条形图中?我已经尝试挖掘 classes 下面的所有代码,但找不到任何解决方案。非常感谢您的帮助。提前致谢。

几点评论:

首先,在不久的将来(可能在 0.12 但不一定)Chart class 将成为 Figure 的子class这样所有 "glyph methods" 像 Figure.text 也可以在图表上使用。

无论如何,Chart 始终是 Plot 的子class,这意味着您可以随时使用 "low level" 字形对象和 Plot.add_glyph。这看起来基本上是这样的:

from bokeh.models.glyphs import  Text

text_glyph = Text(x="x", y="y", x_offset=10, text="foo")
text_renderer = plot.add_glyph(data_source, text_glyph)

使用 Text 字形 can be seen here.

的完整示例(来自版本 0.11.1

最后,就在今天合并了一个新的 PR,为 Bokeh 添加了一个适当的 Label 注释,这将使这种事情变得更加容易。您可以在此处查看 PR:

https://github.com/bokeh/bokeh/pull/4106

这项工作将成为 0.12 版本的一部分。