interactive
ограничен довольно простыми макетами виджетов.Посмотрите на опции Flexbox , если вы хотите настроить их еще немного.
Один простой способ обойти это использовать вызов interactive
для генерации и связывания ваших виджетов и функций, а затемреструктурировать виджеты внутри HBox.Затем добавьте макет, который говорит окантовку для переноса в конце строки.Для этого я добавил еще пару импортов и три строки в конце.
1) controls
- HBox
ваших входных виджетов.
2) Виджет Output
генерируется вызовом interactive
.
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]))