Сюжеты и виджеты не отображаются в боке - PullRequest
0 голосов
/ 03 апреля 2020

Я пытаюсь создать интерактивный инструмент визуализации данных, используя макеты боке, но у меня возникают проблемы при создании и визуализации графиков. При запуске bokeh serve --show MWE1.py я получаю следующее сообщение об ошибке "Только столбцы LayoutDOM могут быть вставлены в столбец. Попытка вставить: нет типа" , и в моем окне браузера не создаются графики.

При запуске кода из команды python MWE1.py график создается в окне браузера, но ползунок отсутствует. Я также пытался удалить инструмент макета column из curdoc(), но это не помогло. Есть ли проблемы с передачей функций, которые генерируют графики с помощью curdo c (), и если да, есть ли альтернативное решение?

(Помимо этого, я также попробовал несколько учебных пособий и примеров, доступных онлайн все они работали как положено)

См. MWE ниже:

import bokeh
from bokeh.io import curdoc
from bokeh import layouts
from bokeh.layouts import column,row,gridplot
from bokeh.models import ColumnDataSource, Slider
from bokeh.io import output_file
from bokeh.plotting import figure,show


x=[1, 2, 3]
y=[4, 5, 6]

def p(x,y):
    p = figure()
    p.line(x,y)
    show(p)

q = p(x,y)

freq = Slider(title="frequency", value=1.0, start=0.1, end=5.1, step=0.1)

curdoc().add_root(column(freq,q))'''

1 Ответ

0 голосов
/ 03 апреля 2020

Вы используете p неправильно:

  1. Он не возвращает сюжет
  2. Он вызывает show, который не работает с bokeh serve

Попробуйте вместо этого

def p(x,y):
    p = figure()
    p.line(x,y)
    return p
...