pandas Jupyter Notebook中的Plotly图消失?

oyt4ldly  于 2023-06-20  发布在  其他
关注(0)|答案(4)|浏览(232)

我在Python中使用Plotly在Jupyter Notebook中创建了一些图,不幸的是,每次打开Jupyter Notebook时,我都必须重新加载数据才能在Plotly中看到这些图,为什么会发生这种情况,如果我每次运行Jupyter Notebook时都能以某种方式使图自动生成?请给予我一些建议,这对我来说真的是个大问题。
例如,像这样的代码,当我打开Jupyter Notebook时,我必须重新加载dataset才能在其中再次显示它:

#Size of the plot
figsize=(10,5)

#Count of values of good and bad credits in the dataset
goodCount = data[data["Risk"]== 'good']["Risk"].value_counts().values
badCount = data[data["Risk"]== 'bad']["Risk"].value_counts().values

#Bar fo good credit
trace0 = go.Bar(x = data[data["Risk"]== 'good']["Risk"].value_counts().index.values,
               y = data[data["Risk"]== 'good']["Risk"].value_counts().values,
               name='Good credit',
               text= goodCount, 
               textposition="auto", 
               marker = dict(color = "green", line=dict(color="black", width=1),),opacity=1)

#Bar of bad credit
trace1 = go.Bar(x = data[data["Risk"]== 'bad']["Risk"].value_counts().index.values,
               y = data[data["Risk"]== 'bad']["Risk"].value_counts().values,
               name='Bad credit', 
               text= badCount, 
               textposition="auto", 
               marker = dict(color = "red", line=dict(color="black", width=1),),opacity=1)

#Creation of bar plot 
data = [trace0, trace1]
layout = go.Layout()
layout = go.Layout(yaxis=dict(title='Count'),
                   xaxis=dict(title='Risk variable'),
                   title='Distribution of target variable in the dataset')

fig = go.Figure(data=data, layout=layout)
fig.show()
oyxsuwqo

oyxsuwqo1#

故障排除指南建议运行“重新启动并清除输出”菜单命令,或者在任何单元格中随时执行此块,以便在不同步时恢复数字:

import plotly.io as pio
pio.renderers.default='notebook'

你看到的是Plotly Notebook集成的限制,如果你可以升级到JupyterLab,它会更好:)

wixjitnu

wixjitnu2#

我可以补充一下@nicolaskruchten的回答:
记录的原因here
注意:默认呈现器在单个会话期间保持不变,但不会跨会话保持不变。如果您使用的是IPython内核,这意味着默认呈现器将在内核的生命周期内持续存在,但在内核重新启动后不会持续存在。
如故障排除文档“JupyterLab问题”部分所示,您有两种选择来解决问题:
1.调用fig.show("notebook")而不是只调用fig.show()。(最简单)
1.如果此问题经常出现,您可以使用以下命令:

import plotly.io as pio
pio.renderers.default='notebook'
ozxc1zmp

ozxc1zmp3#

其实我也有同样的问题。保存笔记本时,您应该确保笔记本标记为“受信任”,您应该在笔记本右上角或“文件”菜单中看到一个小框。如果它没有被标记为这样,只需点击它(确保它是可信的,因为无论什么代码,应该运行在笔记本打开,如plotly数字,将被执行)。

50pmv0ei

50pmv0ei4#

在pandas dataframe plot方法中,使用plotly作为后端,在一个包含一堆图的大型jupyter notebook中消失plotly图也有同样的问题。所有提到的建议都没有成功。最后,我再次在一次运行中执行了所有的单元格,在重新打开笔记本后,所有的图都显示了。

相关问题