如何在Jupyter选项卡小部件中显示matplotlib图?
发布时间:2020-12-20 11:05:30 所属栏目:Python 来源:网络整理
导读:我在Jupyter选项卡小部件中显示图表时遇到问题.请考虑以下代码段: import matplotlib.pyplot as pltimport pandas as pdimport ipywidgets as widgetsimport numpy as npout1 = widgets.Output()out2 = widgets.Output()data1 = pd.DataFrame(np.random.nor
我在Jupyter选项卡小部件中显示图表时遇到问题.请考虑以下代码段:
import matplotlib.pyplot as plt import pandas as pd import ipywidgets as widgets import numpy as np out1 = widgets.Output() out2 = widgets.Output() data1 = pd.DataFrame(np.random.normal(size = 50)) data2 = pd.DataFrame(np.random.normal(size = 100)) with out1: fig1,axes1 = plt.subplots() data1.hist(ax = axes1) display(fig1) with out2: fig2,axes2 = plt.subplots() data2.hist(ax = axes2) display(fig2) tab = widgets.Tab(children = [out1,out2]) tab.set_title(0,'First') tab.set_title(1,'Second') display(tab) (我在虚拟环境中的Ubuntu 16.04上运行Python 3.5.2,Jupyter 4.4.0,ipywidgets 7.2.1.) 如果我将此代码放在笔记本的第一行并运行它,我会看到一个带有两个选项卡的选项卡小部件,每个选项卡都显示一个字符串,但不显示图: 如果我第二次运行它,或者如果我在第二个单元格中导入matplotlib之后重新运行它,那么我会看到一个标签小部件,每个标签上都有一个绘图,但我得到的第二次显示的两个图表标签. 通过将我的代码包含在对plt.ioff和plt.ion的调用中,我可以摆脱额外的显示,但it has been suggested to me这是一个黑客攻击.在任何情况下,它都不会使matplotlib显示第一个单元格中的图. 问题:在标签内显示图表的正确方法是什么? 解决方法
我添加了一些东西来让你的代码按照你的意愿工作
>在单元格的顶部添加%matplotlib内联 %matplotlib inline import matplotlib.pyplot as plt import pandas as pd import ipywidgets as widgets import numpy as np out1 = widgets.Output() out2 = widgets.Output() data1 = pd.DataFrame(np.random.normal(size = 50)) data2 = pd.DataFrame(np.random.normal(size = 100)) tab = widgets.Tab(children = [out1,'Second') display(tab) with out1: fig1,axes1 = plt.subplots() data1.hist(ax = axes1) plt.show(fig1) with out2: fig2,axes2 = plt.subplots() data2.hist(ax = axes2) plt.show(fig2) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |