簡體   English   中英

python bokeh散景包不會在jupyter筆記本中緩存圖

[英]python bokeh plotting package does not cache plots in jupyter notebook

python中的bokeh繪圖包遇到了一個令人沮喪的問題。 所以我有一個jupyter筆記本(筆記本版本5.0.0),其中有一些散景圖。 筆記本現在非常大,因此加載確實需要一些時間。 無論如何,當我使用Matplotlib時,筆記本中的圖像將被緩存。 這樣,我每次運行筆記本時都不需要重新運行它們。

Bokeh具有緩存圖像的相同功能,但是我似乎無法使圖像緩存正常工作。 因此,對於一個非常簡單的示例,如果我在筆記本中有以下代碼:

from bokeh.resources import INLINE
import builtins
import os, sys
import time
import pyugend
import datetime
from IPython.lib import deepreload
builtins.reload = deepreload.reload
from ipywidgets import widgets
from IPython.display import display
from bokeh.io import show, output_notebook
from bokeh.layouts import gridplot
from bokeh.palettes import Viridis3
from bokeh.plotting import figure
from bokeh.charts import defaults
from bokeh import mpl
defaults.width = 700
defaults.height = 700

output_notebook(resources=INLINE)
#output_notebook()
#notebook_handle=True
%reload_ext autoreload
time.sleep(1)

from bokeh.sampledata.iris import flowers

colormap = {'setosa': 'red', 'versicolor': 'green', 'virginica': 'blue'}
colors = [colormap[x] for x in flowers['species']]

p = figure(title = "Iris Morphology")
p.xaxis.axis_label = 'Petal Length'
p.yaxis.axis_label = 'Petal Width'

p.circle(flowers["petal_length"], flowers["petal_width"],
         color=colors, fill_alpha=0.2, size=10)


show(p)

運行該圖可以正常工作。 但是,當我保存筆記本,關閉並重新打開筆記本時,該圖將不再顯示。

其他人都有這個問題。

我想出了這個問題的答案。 所以問題出在Jupyter初始化單元擴展上。 我有代碼可以在筆記本底部的初始化單元中導入bokeh 但是當我出於某種原因這樣做時,筆記本中較早的繪圖單元沒有顯示緩存的圖像。

因此,我必須基本上將初始化單元的導入放在筆記本的最開始。 只有這樣,圖像緩存才起作用。 有趣的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM