Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中使用单个输入更改多个交互式绘图_Python_Jupyter Notebook_Ipywidgets - Fatal编程技术网

如何在Python中使用单个输入更改多个交互式绘图

如何在Python中使用单个输入更改多个交互式绘图,python,jupyter-notebook,ipywidgets,Python,Jupyter Notebook,Ipywidgets,我正试图用Jupyter笔记本中的ipywidgets库制作几个交互式绘图。然而,我面临一个问题:当一个输入小部件(例如滑块)发生变化时,我试图改变多个绘图 在添加的MWE中,这用正弦和余弦函数来说明,这两个函数都依赖于设置正弦和余弦函数振幅的单个输入小部件。因此,如果输入滑块的值设置为值2,正弦和余弦函数的振幅必须立即跟随 如果您自己运行代码,那么您将看到两个滑块完美地一起移动。但是,并不是两个图同时相应地改变 有人能解决这个问题吗?不一定是ipywidgets 提前谢谢大家, 瑞克 # FI

我正试图用Jupyter笔记本中的ipywidgets库制作几个交互式绘图。然而,我面临一个问题:当一个输入小部件(例如滑块)发生变化时,我试图改变多个绘图

在添加的MWE中,这用正弦和余弦函数来说明,这两个函数都依赖于设置正弦和余弦函数振幅的单个输入小部件。因此,如果输入滑块的值设置为值2,正弦和余弦函数的振幅必须立即跟随

如果您自己运行代码,那么您将看到两个滑块完美地一起移动。但是,并不是两个图同时相应地改变

有人能解决这个问题吗?不一定是ipywidgets

提前谢谢大家,

瑞克

# FIRST JUPYTER NOTEBOOK CELL
import matplotlib.pyplot as plt
from ipywidgets import *
from math import * 
import numpy as np
%matplotlib inline

default_value = 1  # Default value of amplutide 

a = IntSlider(min = 1, max = 10, value = default_value, description = 'Amplitude of sine function')
b = IntSlider(min = 1, max = 10, value = default_value, description = 'Amplitude of sine function')

mylink = jslink((a, 'value'), (b, 'value'))

def widget_sine_function(amp_s = a):
  x = np.linspace(0,20,100000)  # Creat x-values for sine function
  y = [amp_s*sin(i) for i in x]  # Create y-values for sine function with amplitude according to value of widget a
  plt.clf()
  plt.figure(figsize=(15,5))
  plt.subplot(1, 2, 1)
  plt.plot(x,y)

interact(widget_sine_function)

# SECOND JUPYTER NOTEBOOK CELL
def widget_cosine_function(amp_c = b):
  x = np.linspace(0,20,100000)  # Creat x-values for cosine function
  y = [amp_c*cos(i) for i in x]  # Create y-values for cosine function with amplitude according to value of widget b
  plt.clf()
  plt.figure(figsize=(15,5))
  plt.subplot(1, 2, 1)
  plt.plot(x,y)

interact(widget_cosine_function)