IPython使用容器小部件修改绘图

时间:2015-03-16 23:02:16

标签: widget ipython jupyter

我正在使用Ipython小部件修改动态绘制的数据,因此我得到了图像中显示的结果;但是我不喜欢窗口小部件(滑块和浮动盒)的布置,所以我试图将它们与Box水平对齐,这就是麻烦,因为我不知道如何将这个布局传递给函数,这就是我如何获得你在图像中看到的内容

#I'm just going to put two sliders
x= FloatSlider(0,1000)
y= FloatSlider(0,1000)

interactive(Function,Xo=x,Yo=y)

如果我尝试

x= FloatSlider(0,1000,10)
y= FloatSlider(-1,1,0.1)

#this gives me the desired arrangment
co = HBox(children=[x,y])

interactive(Function,Xo=Co.children[0],Yo=Co.children[1])

这只是给了我相同的无序结果,这就是我被卡住的地方,我不知道如何输入容器以使其适用于我的情节。我的错误在哪里?我该怎么办?

enter image description here

1 个答案:

答案 0 :(得分:0)

以下可能是您的问题的解决方案:

from IPython.html.widgets import *
x = FloatSlider(value = 500.0, min=0.0, max=1000.0, step=10)
y = FloatSlider(value = 0.0, min=-1.0, max=1.0, step=0.1)
plt.xlim(0,1)
plt.ylim(-1,1)

def Function(x, y):
    plt.plot([0.0, 1.0], [-1.0, 1.0], 'b.')
    plt.plot(x/1000.0, y, 'o')

#this gives me the desired arrangment
f = interactive(Function, x=x, y=y)
Co = HBox(f.children)

display(Co)