2017-12-06 5 views
0

Ich bin ein Diagramm, mit matplotlib in PythonJupyter mit und ich möchte einen Schieberegler unter dem Diagramm machen, ich parallel zu X-axis (in same plot) bedeuten, die den Regler Wert in Python-Code und Aktualisierung nehmen das Diagramm auf der Basis des Schiebereglers.Get Schieber Wert in Back-End als Python

Bitte helfen Sie mir. Vielen Dank im Voraus.

Antwort

2

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.