维护者的注意事项:这个问题与几年前删除的过时的bokeh.charts API有关。有关现代Bokeh中带有条形图的悬停工具的信息,请参阅本节:

https://docs.bokeh.org/en/latest/docs/user_guide/categorical.html#hover-tools

我正在尝试使用Bokeh创建堆积的条形图。我想使用悬停功能,在条形图的每个部分中显示相关数据,但散景显示的不是“???”,而是数据。

我在一个名为“示例工作表”的excel文件的一个名为“销售”的表中获得了数据。该工作表如下所示:

Year    Category    Sales
2016    A           1
2016    B           1
2016    C           1.5
2017    A           2
2017    B           3
2017    C           1
2018    A           2.5
2018    B           3
2018    C           2

我尝试运行以下代码:
import numpy as np
import scipy as sp
from bokeh.charts import Bar, output_file, show
from bokeh.models import HoverTool
import pandas as pd

x = pd.read_excel('Example worksheet.xlsx', 'Sales')
bar = Bar(x, label = 'Year', values = 'Sales', agg = 'sum', stack = 'Category', tools='hover')
hover = bar.select(dict(type=HoverTool))
source = x
hover.tooltips = [('Category', '@Category'),('Sales', '@Sales')]
output_file("Expected Sales.html")
show(bar)

运行后,我在Python控制台中收到以下消息(我认为这与主题无关,但是无论如何我都把它放了进去):
(process:4789): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed

然后在浏览器上,我得到以下图表:

python - 散景中的数据工具提示不显示数据,而是显示 '???'-LMLPHP

如您所见,数据被问号替换。我在运行于Ubuntu 15.04(64位)的FF 41.0.1和Chromium 45.0.2454.101上均获得了此结果。

我看了散景教程
http://docs.bokeh.org/en/latest/docs/user_guide/tools.html#hovertool

但它不涉及条形图。我也在Stackoverflow上找到了这个:

Bokeh hover tooltip not displaying all data - Ipython notebook

这个问题可能是相关的,但是坦率地说,我对答案并不十分了解。

最佳答案

我遇到了同样的问题。我发现this reference有用。 Sales的工具提示将使用通用@height,例如:hover.tooltips = [('Sales', '@height')]
同样,将@height替换为@y将为您提供每年的总销售额。我还没有弄清楚如何使用工具提示来访问堆积的类别,或者如何使用链接中引用的ColumnDataSource。

关于python - 散景中的数据工具提示不显示数据,而是显示 '???',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33022985/

10-12 16:51
查看更多