6
วิธีอัปเดตพล็อตแบบไดนามิกในลูปในสมุดบันทึก Ipython (ภายในเซลล์เดียว)
สภาพแวดล้อม: Python 2.7, matplotlib 1.3, IPython notebook 1.1, linux, chrome รหัสอยู่ในเซลล์อินพุตเดียวโดยใช้--pylab=inline ฉันต้องการใช้สมุดบันทึก IPython และแพนด้าเพื่อใช้สตรีมและอัปเดตพล็อตแบบไดนามิกทุกๆ 5 วินาที เมื่อฉันใช้คำสั่งพิมพ์เพื่อพิมพ์ข้อมูลในรูปแบบข้อความมันทำงานได้ดีอย่างสมบูรณ์: เซลล์ผลลัพธ์จะเก็บข้อมูลการพิมพ์และเพิ่มแถวใหม่ แต่เมื่อฉันพยายามลงจุดข้อมูล (แล้วอัปเดตแบบวนซ้ำ) พล็อตจะไม่ปรากฏในเซลล์ผลลัพธ์ แต่ถ้าฉันลบลูปออกก็แค่ลงจุดครั้ง มันทำงานได้ดี จากนั้นฉันก็ทำการทดสอบง่ายๆ: i = pd.date_range('2013-1-1',periods=100,freq='s') while True: plot(pd.Series(data=np.random.randn(100), index=i)) #pd.Series(data=np.random.randn(100), index=i).plot() also tried this one time.sleep(5) ผลลัพธ์จะไม่แสดงอะไรเลยจนกว่าฉันจะขัดจังหวะกระบวนการด้วยตนเอง (ctrl + m + i) และหลังจากที่ฉันขัดจังหวะพล็อตจะแสดงเป็นเส้นที่ทับซ้อนกันหลายบรรทัดอย่างถูกต้อง แต่สิ่งที่ฉันต้องการจริงๆคือพล็อตที่แสดงและได้รับการอัปเดตทุก ๆ 5 วินาที (หรือเมื่อใดก็ตามที่มีplot()การเรียกใช้ฟังก์ชันเช่นเดียวกับผลลัพธ์ของคำสั่งพิมพ์ที่ฉันกล่าวถึงข้างต้นซึ่งทำงานได้ดี) …