Bokeh:工具提示在使用pandas数据帧时不显示值

时间:2018-01-26 15:31:10

标签: python pandas bokeh

带有散景和pandas的简单条形图不会解析工具提示中的Column1值(而是显示???):

import pandas as pd
import bokeh.plotting as bk
from bokeh.models import HoverTool

my_df = pd.DataFrame(
    {
        "Column1": [7,19,16],
        "Column2": ["Age","Age","Notage"]
    }, index = [
        "Row1",
        "Row2",
        "Row3"
    ]
)

hover = HoverTool(
    tooltips = [
        ("index1", "@Column1")
    ]
)

p = bk.figure(
    tools=[hover],
    x_range=list(my_df.index.values),
)

p.vbar(
    x=list(my_df.index.values),
    width=0.4,
    top=my_df["Column1"]
)

bk.show(p)

为什么这是为什么以及大多数示例传递source = ColumnDataSource(my_df)的原因。可以在没有ColumnDataSource的情况下完成吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

是这样的吗?如果有人有没有ColumnDataSource的例子,请发帖。

import numpy as np
import pandas as pd
import bokeh.plotting as bk
from bokeh.models import HoverTool

my_df = pd.DataFrame(
    {
        "Column1": [7,19,16],
        "Column2": ["Age","Age","Notage"],
        "Rows": ["Row1", "Row2", "Row3" ]
    }
)
source = bk.ColumnDataSource(my_df)
hover = HoverTool(
    tooltips = [
        ("index1", "@Column1")
    ]
)

p = bk.figure(
    tools=[hover],
    x_range=list(my_df["Rows"].values),
)

p.vbar(
    x="Rows",
    width=0.4,
    top="Column1",
source=source
)

bk.show(p)