Но мне не удается обновить фигуру во время выполнения ячейки в качестве источника данных обновляется. Вместо этого моя цифра обновляется только один раз в конце.
Вот пример тестового кода:
Код: Выделить всё
import matplotlib as mpl
import panel as pn
from IPython import display
import holoviews as hv
import time
pn.extension()
val = 0
stream = hv.streams.Stream.define('I', index = 0)()
# This is the callback that is called whenever I push data in my `stream`
# This writes "HELLO {i}" in a matplotlib figure where `i` is the data updated
def _cb(index):
mpl.pyplot.ioff()
fig = mpl.figure.Figure(figsize=(1, 1))
string = f"HELLO {index}"
print(string)
fig.suptitle(string)
mpl.pyplot.ion()
panel = pn.panel(fig)
return panel
# Create the panel widget
col = pn.Column(pn.bind(_cb, index=stream.param.index))
display.display(col)
# Regularly publish data in my stream
for i in range(10):
stream.event(index=i)
time.sleep(1)
print("end of loop")
- При создании фигуры и вызове display.display я увижу рисунок создан.
- При вызовеstream.event в моем цикле for я должен видеть приведенный выше рисунок, обновляемый каждые 1 с, в то же время я должен видеть «HELLO {i} " в логах
- Моя фигура правильно создана и отображается
- Журналы отображаются под ячейкой, но цифра не обновляется (постоянно отображается «HELLO 0»)
- Когда ячейка завершается, я см. журнал «конец цикла», и цифра обновляется с помощью «HELLO 9»
При запуске только цикла for во второй ячейке фигура первой ячейки правильно обновляется каждую секунду.
Это не соответствует моему окончательному варианту использования, поскольку весь код должен выполняться в одной ячейке, но я бы хотелось бы понять, что происходит.
Примечание 2
При запуске этой ячейки в vscode с расширением Jupyterlab vscode сначала жалуется на отсутствие jupyter_bokeh и после установки и перезапуска ядра оно ведет себя как положено (регулярные обновления рисунка).
Запуск в jupyterlab с ядром, содержащим jupyter_bokeh, однако не работает.
Вы сейчас, если jupyter_bokeh может быть связано с этой проблемой?
Моя конфигурация
Код: Выделить всё
holoviews 1.18.3
ipython 8.18.1
ipython-genutils 0.2.0
ipywidgets 8.0.6
jupyter_bokeh 4.0.5
jupyter_client 8.6.0
jupyter_core 5.7.1
jupyter-events 0.9.0
jupyter-lsp 2.2.4
jupyter_server 2.13.0
jupyter_server_terminals 0.5.2
jupyterlab 4.1.3
jupyterlab_pygments 0.3.0
jupyterlab_server 2.25.3
jupyterlab_widgets 3.0.10
jupytext 1.16.2
matplotlib 3.7.5
matplotlib-inline 0.1.6
panel 1.3.8
Подробнее здесь: https://stackoverflow.com/questions/790 ... jupyterlab