我是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)
这是我得到的输出:
请帮助我了解我在这里缺少什么?
我相信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