2016-10-19 9 views
8

मैं एक इंटरैक्टिव साजिशmatplotlib और ipywidgets IPython (python3) में का उपयोग कर लागू करना चाहते हैं। तो, मैं इसे कुशलता से कैसे कर सकता हूं (देरी के बिना आसानी से बदलें)?इंटरएक्टिव matplotlib का उपयोग कर ipywidgets

और एक और सवाल यह है कि यह कोड क्यों काम करता है ?!

from ipywidgets import * 
import numpy as np 
import matplotlib.pyplot as plt 
%matplotlib inline 

x = np.linspace(0, 2 * np.pi) 

def update(w = 1.0): 
    fig = plt.figure() 
    ax = fig.add_subplot(1, 1, 1) 
    ax.plot(x, np.sin(w * x)) 

    fig.canvas.draw() 

interact(update); 

enter image description here

लेकिन, यह काम नहीं करता ?!

from ipywidgets import * 
import numpy as np 
import matplotlib.pyplot as plt 
%matplotlib inline 

x = np.linspace(0, 2 * np.pi) 
fig = plt.figure() 
ax = fig.add_subplot(1, 1, 1) 
line, = ax.plot(x, np.sin(x)) 

def update(w = 1.0): 
    line.set_ydata(np.sin(w * x)) 
    fig.canvas.draw() 

interact(update); 

enter image description here

+0

क्या आपको कभी काम करने के लिए दूसरा उदाहरण प्राप्त करने का कोई तरीका मिला? मुझे अभी भी यही समस्या है। – mdornfe1

उत्तर

2

दूसरा दृष्टिकोण नोटबुक बैकएंड

%matplotlib notebook 

या ipympl साथ के लिए सही एक है।

हालांकि, यह इनलाइन बैकएंड के साथ काम नहीं करेगा जो साजिश को अद्यतन नहीं करता है।

+1

मेरे लिए, दूसरा दृष्टिकोण नोटबुक बैकएंड के लिए काम नहीं करता है। कोई ग्राफ बिल्कुल दिखाया नहीं गया है। – tfv

+0

मैं ipympl (उर्फ जुपीटर-मैटलप्लिपिब) का उपयोग करने की सलाह देता हूं, जो नोटबुक बैकएंड एक अलग पैकेज में विभाजित है। विभाजन के कारण यह है कि जुपीटर के रिलीज चक्र matplotlib से बहुत तेज हैं। आईपीएमपीएल को बेहतर तरीके से ट्रैक करने में सक्षम होने के लिए matplotlib से अलग किया गया है। – Quant

संबंधित मुद्दे