繁体   English   中英

使用IPython进行双变量交互式函数绘图

[英]Bi-variant interactive function plotting using IPython

我想用不同的频率绘制两个函数,例如正弦和余弦,所以第一个变量是绘制函数,第二个变量是频率。 我想要一个选择器小部件来选择功能,以及一个滑块来选择频率。 是否可以使用interact来实现此目的,或者我需要更复杂的设置吗?

是的,使用interact应该可以实现。为进一步阅读,github存储库中有几个example notebooks ,可以用作交互式小部件的介绍。

%matplotlib inline
from IPython.html import widgets
import numpy as np
import matplotlib.pyplot as plt

fun_map = {
    "sin": np.sin,
    "cos": np.cos
}

func_name = widgets.Dropdown(
    options=['sin', 'cos'],
    value='sin',
    description='Function:',
)

freq = widgets.FloatSlider(
    min=1,
    max=5,
    value=1,
    description='Parameter:'
)

def plot_fun(func_name, freq, fun_map):
    f = fun_map[func_name]
    x = np.linspace(0, 2*np.pi, 100)
    plt.plot(x, f(freq * x))

res = widgets.interact(plot_fun, freq=freq, func_name=func_name,
                       fun_map=widgets.fixed(fun_map))

结果如下:

结果

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM