Bokeh 服务器不适用于条形图,但适用于绘图

Bokeh server not working for bar charts, but working for plots

我有在本地工作的散景服务器,我能够 运行 使用命令的电影示例:bokeh serve --show movies:

https://github.com/bokeh/bokeh/tree/master/examples/app/movies

我创建了一个简单的脚本来显示条形图。虽然当我将它显示为静态 html 文件时它可以工作,如下所示,但它在使用散景服务时不起作用:

import pandas as pd
from bokeh.charts import Bar, output_file, show

dict_name = {
    'values': {
        'label_name': 44, 
        'label_name': 28, 
        'label_name': 22,
        'label_name': 20, 
        'label_name': 15,
        'label_name': 7, 
        'label_name': 6,
        'label_name': 4, 
        'label_name': 4,
        'label_name': 2, 
    }
}
df = pd.DataFrame(dict_name)
df['label'] = df.index
p = Bar(df, values='values', label='label', legend=False, 
title='title', 
        xlabel = "", ylabel = "")

output_file("bar.html")

show(p)

在目录或文件上执行 bokeh serve 时,会打开一个空白页面。我不确定我是否做错了什么,或者服务器是否只是不使用条形图。无论哪种方式,我都非常感谢解决方案或解决方法。谢谢

您需要将图表添加到 curdoc。因为你没有向文档添加任何内容,所以当 bokeh serve 运行你的脚本时它只是 returns 一个空白文档并显示:

from bokeh.io import curdoc
import pandas as pd
from bokeh.charts import Bar, output_file, show

dict_name = {
    'values': {
        'label_name': 44,
        'label_name': 28,
        'label_name': 22,
        'label_name': 20,
        'label_name': 15,
        'label_name': 7,
        'label_name': 6,
        'label_name': 4,
        'label_name': 4,
        'label_name': 2,
    }
}
df = pd.DataFrame(dict_name)
df['label'] = df.index
p = Bar(df, values='values', label='label', legend=False,
title='title',
        xlabel = "", ylabel = "")

# this was missing, every bokeh serve "script" example has this
curdoc().add_root(p)