Боке дает мне пустой график с ColumnDataSource - PullRequest
0 голосов
/ 17 февраля 2020

Я новичок ie на Боке. Успешно поиграл с ним и сумел построить красивые графики ... Но я думаю, что некоторые из моих основ все еще несовершенны.

Я попробовал следующий простой пример, и в итоге я получил пустой график. Я полагаю, это связано с тем, что данные оси 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

Пожалуйста, помогите мне понять, что мне здесь не хватает?

1 Ответ

0 голосов
/ 17 февраля 2020

Я считаю, что Bokeh нужен x-диапазон, определенный в некоторых случаях с помощью vBar (особенно, когда категориальные строки - строки), исправьте меня, если я ошибаюсь!

Добавив 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'])

Гистограмма построена мой график

...