0
我想繪製兩種不同頻率的函數,比如說正弦和餘弦,所以第一個變量是繪製函數,第二個函數是頻率。我想要一個選擇器小部件來選擇函數和一個選擇頻率的滑塊。是否可以使用interact
來實現這一點,還是需要更復雜的設置?使用IPython進行雙變量交互式繪圖功能
我想繪製兩種不同頻率的函數,比如說正弦和餘弦,所以第一個變量是繪製函數,第二個函數是頻率。我想要一個選擇器小部件來選擇函數和一個選擇頻率的滑塊。是否可以使用interact
來實現這一點,還是需要更復雜的設置?使用IPython進行雙變量交互式繪圖功能
是的,這應該是可能的interact
爲進一步閱讀有幾個example notebooks
在github存儲庫中,可用作交互式小部件的介紹。
%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))
這是結果:
這就是我一直在尋找。它在哪裏記錄?你可以請添加一些鏈接? – Dror 2015-03-02 14:00:58
@Dror,我添加了一個鏈接到'ipython'的示例筆記本。 AFAIK,還沒有一個全面的文件。然而,人們可以從這些筆記本中學到很多東西。 – cel 2015-03-02 14:10:51