python - 如何使用 Jyupyter 笔记本使用 ipywidgets 在循环中创建图形选项卡?
问题描述
想象一下,我想在 Jupyter 笔记本中显示 10 个数字。使用 ipywidgets,如何在一个循环中创建 10 个选项卡?下面我分享一个示例,如果我想到 10 个数字,那么我想在循环中创建选项卡而不是手动工作。提前致谢 !最好的,DS
%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, out2,])
tab.set_title(0, 'First')
tab.set_title(1, '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)
解决方案
好的,这是我想出的,虽然你必须在循环之外提供数据,但这应该是有帮助的。
%matplotlib inline
import matplotlib.pyplot as plt
import pandas as pd
import ipywidgets as widgets
import numpy as np
data1 = pd.DataFrame(np.random.normal(size = 50))
data2 = pd.DataFrame(np.random.normal(size = 100))
data =[data1,data2]
sub_tab=[widgets.Output() for i in range(len(data))]
tab = widgets.Tab(sub_tab)
for i in range (len(data)):
tab.set_title(i,"Tab {}".format(i+1))
with sub_tab[i]:
fig, axes = plt.subplots()
data[i].hist(ax = axes)
plt.show(fig)
display(tab)
推荐阅读
- ubuntu - Ubuntu 20.04 Focal Fossa Linux 上的 Viber 安装问题
- javascript - Antd Select表单项键盘行为问题
- node.js - Node - nodemailer 在成功的情况下发送邮件
- conv-neural-network - 运行模型。多次评估结果不同的精度和损失值 tensorflow 2
- jquery - 如何在模式上发送数据并在 foreach 上使用它
- python - 如何更改模型中字段的id格式?
- python - Python中的文件导入问题
- javascript - 我的折线图绘图仪 JS 应用程序中的 x 和 y 轴上的缩放间隔没有正确显示
- android - AdColony 仅显示测试广告
- python - 如何在单击按钮时更新 kivy 中的标签