gpt4 book ai didi

python-3.x - 在 ipywidgets 交互式中排列小部件

转载 作者:行者123 更新时间:2023-12-04 23:36:19 24 4
gpt4 key购买 nike

我有这个使用 ipywidgets 的交互式图形代码;但不确定如何在小部件中的交互功能内排列每个变量。默认布局是垂直的。但我想以水平方式排列它们。

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
plt.style.use('seaborn')
%config InlineBackend.figure_format = 'svg'
from ipywidgets import interactive,interact
#function to plot the different curves
def plot_function(u=1,v=2,w=3,x=4,y=5,z=6):
time=np.arange(0,1,0.01)
df=pd.DataFrame({"Y1":np.sin(time*u*2*np.pi),"y2":np.sin(time*v*2*np.pi),"y3":np.sin(time*w*2*np.pi),
"y4":np.sin(time*x*2*np.pi),"y5":np.sin(time*y*2*np.pi),"y6":np.sin(time*z*2*np.pi)})
df.plot()
widget=interactive(plot_function,u=1,v=2,w=3,x=4,y=5,z=6)
widget

Output

最佳答案

interactive仅限于相当简单的小部件布局。看看 Flexbox选项,如果你想更多地自定义它们。

一个简单的解决方法是使用 interactive调用以生成和链接您的小部件和函数,然后在 HBox 内重构小部件。然后添加一个布局,告诉框在行尾换行。我在最后添加了几个导入和三行来实现这一点。

1) controls - 一个 HBox您的输入小部件。

2) Outputinteractive 生成的小部件称呼。

3) 一个 VBox将两者包裹在一起。

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
plt.style.use('seaborn')
%config InlineBackend.figure_format = 'svg'
#importing the necessary items from the Ipywidgets library
from ipywidgets import interactive,interact, HBox, Layout,VBox
#function to plot the different curves
def plot_function(u=1,v=2,w=3,x=4,y=5,z=6):
time=np.arange(0,1,0.01)
df=pd.DataFrame({"Y1":np.sin(time*u*2*np.pi),"y2":np.sin(time*v*2*np.pi),"y3":np.sin(time*w*2*np.pi),
"y4":np.sin(time*x*2*np.pi),"y5":np.sin(time*y*2*np.pi),"y6":np.sin(time*z*2*np.pi)})
df.plot()
widget=interactive(plot_function,u=1,v=2,w=3,x=4,y=5,z=6)
controls = HBox(widget.children[:-1], layout = Layout(flex_flow='row wrap'))
output = widget.children[-1]
display(VBox([controls, output]))

enter image description here

关于python-3.x - 在 ipywidgets 交互式中排列小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52980565/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com