jupyterlab:散景图显示在错误的浏览器中

时间:2019-02-14 18:55:35

标签: jupyter jupyter-lab

我有一个运行jupyterlab的VM,并已将其打开以供外部访问。当jupyter-lab启动时,将打开本地浏览器,这很好。

在外部,我访问了jupyterlab,并且一切正常。但是,当我绘图时,输出不会显示在浏览器中,而是显示在以jupyter-lab 开头的本地浏览器中的新选项卡。

如果我有%matplotlib inline,也会发生同样的事情。

由于现在显示为内联,因此以下内容要好一些。但是,其他浏览器中仍会打开一个新标签。

%matplotlib inline
from bokeh.plotting import figure, show, output_notebook
from bokeh.sampledata.iris import flowers

output_notebook()

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)

# output_file("iris.html", title="iris.py example")

show(p)

1 个答案:

答案 0 :(得分:0)

该问题与我的设置无关,而仅仅是与我对Bokeh的缺乏了解有关。散景有状态。因此,如果您调用output_file()或什至没有调用它,它会保存您的所有绘图,从而使它们也显示在新的浏览器选项卡中。解决的办法是不这样做:)

在上面的示例单元格的顶部放置以下代码可解决此问题:

bokeh.io.reset_output()
bokeh.io.output_notebook()

我找到了答案here。谢谢bigreddot和Martin-Martin

从技术上讲,我的问题是重复的。但是,它不够明显,我将其保留。