首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python Bokeh --使用DataFrame列将HoverToolTip合并到条形图中

Python Bokeh --使用DataFrame列将HoverToolTip合并到条形图中
EN

Stack Overflow用户
提问于 2016-10-15 05:10:21
回答 1查看 328关注 0票数 2

我的目标是创建一个bokeh条形图,它代表一个直方图。理想情况下,我希望启用悬停工具提示,以便将鼠标悬停在列上时将显示该点的总累积值。

我的原始数据帧看起来像这样:

代码语言:javascript
复制
           Buckets     Data1_%   Data2_%
0  (0.0166, 0.283]  16.886842 17.242004
1      (0.3, 0.32]   1.111779  1.284348

为了使我的条形图具有Data1_%和Data2_%的并排视图,我需要以以下方式调用pd.melt():

代码语言:javascript
复制
df_temp = pd.melt(df, id_vars = "Buckets", value_vars = ["Data1_%", "Data2_%"])

这会使数据帧看起来像这样:

代码语言:javascript
复制
           Buckets    variable      value
0   (0.0166, 0.283]    Data1_%  16.886842
1       (0.3, 0.32]    Data1_%   1.111779

其中"variable“包含"Data1_%”或"Data2_%“作为两个可能的项。

最后,我生成我的图,并尝试以这种方式绘制它:

代码语言:javascript
复制
bar = Bar(df_temp, label = "Buckets", values = "value", group = "variable")
bar.add_tools(HoverTool(tooltips = [("TestValue", "@value")]))
show(bar)

条形图呈现良好,如下所示:

这正是我想要的!悬停工具已启用并正常工作,但它始终显示“?”作为值,这意味着它不会像我想象的那样从我的数据帧(df_temp)中提取。

理想情况下,它将显示两个数据点:"variable“字段的值和" value”字段的值。

因此,对于我的第一个数据点,我希望它能显示:

变量: Data1_%值: 16.886842

诸若此类。但只要能让value参数工作,我就会很高兴。

任何建议都将不胜感激!我已经尝试阅读了有关将数据帧更改为ColumnDataSource和其他类似技巧的文档,但我真的很高兴看到一些关于如何实现这一点的代码。

谢谢!

编辑:快速跟进问题。我如何在我的BokehChart上强制排序?我希望数据以我在数据框中列出的相同顺序显示,但似乎Bokeh有时会混淆这些值,并以看似随机的顺序显示出来。我认为Bokeh应该很容易与Dataframes一起使用!

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40052044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档