Eine Möglichkeit, dies zu erreichen, ist die Verwendung der Jupyter Widgets-Erweiterung. Dies beinhaltet die interact Funktion.
pip Verwenden Sie installieren diese als:
pip install ipywidgets
jupyter nbextension enable --py --sys-prefix widgetsnbextension
Dann sind Sie ein Diagramm erstellen, eine Funktion, die diese Handlung aktualisiert, und übergeben beide als Argumente an interact
.
Hier ist eine Jupyter Zelle, die es tut:
import numpy as np
import matplotlib.pyplot as plt
from ipywidgets import interact
# Create some data to visualize
data_samples = 100
data_length = 500
data = np.zeros((data_samples, data_length))
for i in range(data_samples):
data[i,:] = np.random.normal(0., 1+0.1*i, data_length)
# Define a function to update the plot
def update_plot(frame):
binz, valz = np.histogram(data[frame,:], range=(-10.,10), bins=50)
for count, patch in zip(binz, patches):
patch.set_height(count)
return
% matplotlib qt5
hist, bins, patches = plt.hist(data[0,:], range=(-10.,10), bins=50)
widget = interact(update_plot, frame=(0, data_samples-1))
plt.show()
Caveat: ich dies mit Python getestet 3.5 und dem QT5 Backend.