Я думаю, что это то, к чему стремится Дуг.Ваша длина данных x и y должна быть одинаковой.В этом случае x
- это метки столбцов, а y
- значения баллов.Вы должны установить столбец «Имя» вашего DataFrame в качестве индекса;это предотвратит его отображение в виде значения.
PS.В следующий раз, если вы убедитесь, что ваш код является полным примером, который можно запустить с нуля без внешних данных (MCVE, https://stackoverflow.com/help/mcve), вы, вероятно, получите гораздо более быстрый ответ.
Документация BQPlotесть много хороших примеров, использующих более сложный интерфейс pyplot, которые стоит прочитать: https://github.com/bloomberg/bqplot/blob/master/examples/Marks/Object%20Model/Bars.ipynb
from bqplot import *
import pandas as pd
data = pd.DataFrame(
index = ['Bob'],
columns = ['score1', 'score2', 'score3', 'score4'],
data = [[-2, 3,5,7]]
)
sc_ord = OrdinalScale()
y_sc_rf = LinearScale()
bar_chart = Bars(x=data.columns, y = data.iloc[0],
scales={'x': sc_ord, 'y': y_sc_rf},
labels=data.index[1:].tolist(),
)
ord_ax = Axis(label='Score', scale=sc_ord, grid_lines='none')
y_ax = Axis(label='Scores', scale=y_sc_rf, orientation='vertical',
grid_lines='solid')
Figure(axes=[ord_ax, y_ax], marks=[bar_chart])