4
我想在x軸上繪製實時串行數據與時間的關係曲線。 我希望x軸動態變化,即當我得到新數據時,窗口長度應保持相同,但x軸應該移位。繪製x軸上的時間數據並使用python實時調整它
到目前爲止,我已經能夠繪製串行數據樣本採樣點,並且我無法更改x軸,但y軸值不斷變化。
我把給定的代碼,我從這個論壇本身
import matplotlib.pyplot as plt
import time
import random
from collections import deque
import numpy as np
def random_gen():
while True:
val = random.randint(1,10)
yield val
time.sleep(0.1)
a1 = deque([0]*100)
ax = plt.axes(xlim=(0, 20), ylim=(0, 10))
d = random_gen()
line, = plt.plot(a1)
plt.ion()
plt.ylim([0,10])
plt.show()
for i in range(0,20):
a1.appendleft(next(d))
datatoplot = a1.pop()
line.set_ydata(a1)
plt.draw()
plt.pause(0.0001)
我已經改變了random_gen()的一部分用於我的情況下得到的幫助下,我繪製的串行數據,但我給這個代碼,因爲否則我會給一個文件中的串行數據,這隻會讓事情變得複雜。
我發現這個代碼可以用來尋找時間值
import datetime
dlist = deque([datetime.datetime.now()] * 100)
while 1:
# collect the data .........
dlist.appendleft((datetime.datetime.now()))
我不知道如何改變X軸動態。
我是新來的蟒蛇可能有一些事情,我可能做錯了,請忽略這些
請給一些建議。
感謝
我沒有搜索matplotlib在谷歌動態的,但我沒有找到任何這對我來說是有用的,你能不能請註明鏈接 – yuvraj 2014-09-20 08:34:59
對不起,我誤解你的問題 – joaquin 2014-09-20 09:12:36
在您提供的示例中,新數據插入左側。但是你寫*「我希望x軸動態變化,即當我得到新數據時,窗口長度應保持相同,但x軸應該改變。」*你能詳細說明你有什麼和你想要什麼嗎?請在文本和邏輯上分開你的兩個問題。這有助於讀者閱讀。 – sebix 2014-09-20 12:13:02