我在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()
4条答案
按热度按时间oyxsuwqo1#
故障排除指南建议运行“重新启动并清除输出”菜单命令,或者在任何单元格中随时执行此块,以便在不同步时恢复数字:
你看到的是Plotly Notebook集成的限制,如果你可以升级到JupyterLab,它会更好:)
wixjitnu2#
我可以补充一下@nicolaskruchten的回答:
记录的原因here:
注意:默认呈现器在单个会话期间保持不变,但不会跨会话保持不变。如果您使用的是IPython内核,这意味着默认呈现器将在内核的生命周期内持续存在,但在内核重新启动后不会持续存在。
如故障排除文档“JupyterLab问题”部分所示,您有两种选择来解决问题:
1.调用
fig.show("notebook")
而不是只调用fig.show()
。(最简单)1.如果此问题经常出现,您可以使用以下命令:
ozxc1zmp3#
其实我也有同样的问题。保存笔记本时,您应该确保笔记本标记为“受信任”,您应该在笔记本右上角或“文件”菜单中看到一个小框。如果它没有被标记为这样,只需点击它(确保它是可信的,因为无论什么代码,应该运行在笔记本打开,如plotly数字,将被执行)。
50pmv0ei4#
在pandas dataframe plot方法中,使用plotly作为后端,在一个包含一堆图的大型jupyter notebook中消失plotly图也有同样的问题。所有提到的建议都没有成功。最后,我再次在一次运行中执行了所有的单元格,在重新打开笔记本后,所有的图都显示了。