Я хотел бы использовать цикл в качестве генератора для создания отдельных глифов для создания точечной диаграммы. Мои значения x являются категориальными значениями. Я начинаю со следующего простого примера.
from bokeh.plotting import figure, show
xvals = ['one', 'two', 'three']
p = figure(x_range=xvals)
i=1
for value in xvals:
p.circle(x=value,y=i)
i+=1
show(p)
Это приводит к тому, что Bokeh выдает ошибку:
Ошибка Bokeh при попытке получить массив свойств для несуществующего поля
'Один'
Я предполагаю, что это можно отсортировать, используя columndatasource и передав его в качестве источника функции рендеринга глифа. Я пробовал разные способы структурировать данные и передавать их рендереру, но без удачи. Объект columndatasource хочет передать словарь в формате:
data = {'x_values': [1, 2, 3, 4, 5],
'y_values': [6, 7, 2, 3, 6]}
Я не могу вызвать полный список значений y перед генератором, так как они будут вычислены во время цикла в моей реальной функции. Есть ли способ обойти это? Это очень легко сделать с pyplot, но мне нужно использовать Bokeh для его интерактивных графиков.
Спасибо!