Bokeh给我一个带有ColumnDataSource的空图

问题描述 投票:0回答:1

我是Bokeh的新手。一直在成功地使用它并设法绘制出漂亮的图表。。但是我认为我的一些基本知识仍然存在缺陷。

我尝试了以下简单示例,但最终得到了空图。我相信这是由于x轴数据是字符串吗?但是我无法弄清楚为什么以及如何解决它。

下面是我尝试的代码:

from bokeh.io import show, output_notebook
from bokeh.plotting import figure
from bokeh.models import ColumnDataSource
import pandas as pd

scores = [['Tom', 85], ['Dick', 30], ['Harry', 60], ['Sally', 80], ['Jimmy', 70], ['Raj', 50]]
scores_df = pd.DataFrame(scores, columns=['Name', 'Score'])

source = ColumnDataSource(scores_df)

fig = figure(title='my chart', plot_width=300, plot_height=300, y_range=(0,100), x_axis_label='Name', y_axis_label='Score')
fig.vbar(x='Name', top='Score', bottom=0, source=source, width=1, color='black')

output_notebook()
show(fig)

这是我得到的输出:

Empty Plot

请帮助我了解我在这里缺少什么?

python pandas bokeh
1个回答
0
投票

我相信Bokeh在某些情况下需要使用vBar定义x范围(尤其是当分类是字符串时,如果我错了,请纠正我!

通过在图中添加x_range = scores_df ['Name'];

fig = figure(title='my chart', plot_width=300, plot_height=300, y_range=(0,100), x_axis_label='Name', y_axis_label='Score', x_range=scores_df['Name'])

条形图已绘制my chart

© www.soinside.com 2019 - 2024. All rights reserved.