天天看點

python實時顯示資料_python中plot實作即時資料動态顯示方法

在Matlab使用Plot函數實作資料動态顯示方法總結中介紹了兩種實作即時資料動态顯示的方法。考慮到使用python的人群日益增多,再加上本人最近想使用python動态顯示即時的資料,網上方法很少,固總結于此。

示例代碼1

import matplotlib.pyplot as plt

import numpy as np

import time

from math import *

plt.ion() #開啟interactive mode 成功的關鍵函數

plt.figure(1)

t = [0]

t_now = 0

m = [sin(t_now)]

for i in range(2000):

t_now = i*0.1

t.append(t_now)#模拟資料增量流入

m.append(sin(t_now))#模拟資料增量流入

plt.plot(t,m,'-r')

plt.draw()#注意此函數需要調用

time.sleep(0.01)

python實時顯示資料_python中plot實作即時資料動态顯示方法

示例代碼2

上面的方式,可以在跳出的畫圖面闆内動态顯示,但是如果想在jupyter notebook中直接動态顯示,上面的方法将無效。是以,補上在jupyter notebook中可行的動态顯示示例程式。以供舉一反三之用。

這裡寫代碼片

import math

import random

import numpy as np

import matplotlib

import matplotlib.pyplot as plt

%matplotlib inline

# set up matplotlib

is_ipython = 'inline' in matplotlib.get_backend()

if is_ipython:

from IPython import display

plt.ion()

def plot_durations(y):

plt.figure(2)

plt.clf()

plt.subplot(211)

plt.plot(y[:,0])

plt.subplot(212)

plt.plot(y[:,1])

plt.pause(0.001) # pause a bit so that plots are updated

if is_ipython:

display.clear_output(wait=True)

display.display(plt.gcf())

x = np.linspace(-10,10,500)

y = []

for i in range(len(x)):

y1 = np.cos(i/(3*3.14))

y2 = np.sin(i/(3*3.14))

y.append(np.array([y1,y2]))

plot_durations(np.array(y))

python實時顯示資料_python中plot實作即時資料動态顯示方法

以上就是本文的全部内容,希望對大家的學習有所幫助,也希望大家多多支援我們。

本文标題: python中plot實作即時資料動态顯示方法

本文位址: http://www.cppcns.com/jiaoben/python/230896.html