您好,登錄后才能下訂單哦!
這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)使用python怎么繪制動態(tài)曲線,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
1、簡單易用,與C/C++、Java、C# 等傳統(tǒng)語言相比,Python對代碼格式的要求沒有那么嚴(yán)格;2、Python屬于開源的,所有人都可以看到源代碼,并且可以被移植在許多平臺上使用;3、Python面向?qū)ο螅軌蛑С置嫦蜻^程編程,也支持面向?qū)ο缶幊蹋?、Python是一種解釋性語言,Python寫的程序不需要編譯成二進(jìn)制代碼,可以直接從源代碼運行程序;5、Python功能強(qiáng)大,擁有的模塊眾多,基本能夠?qū)崿F(xiàn)所有的常見功能。
從txt種獲取數(shù)據(jù) 并且通過動態(tài)曲線顯示
import numpy as np import matplotlib.pyplot as plt import matplotlib.animation as animation import time # Fixing random state for reproducibility np.random.seed(196) path = "feed.txt" file = open(path, 'r') data = [] for line in file.readlines(): lineArr = line.strip().split() data.append(int(lineArr[0])) xdata = np.arange(0,len(data)) #初始數(shù)據(jù)繪圖 dis = np.zeros(40) dis2 = dis fig, ax = plt.subplots() line, = ax.plot(dis) ax.set_ylim(0, 100) plt.grid(True) ax.set_ylabel("distance: m") ax.set_xlabel("time") def update(frame): global dis global dis2 global line #讀入模擬 a = frame time.sleep(np.random.rand()/10) #繪圖數(shù)據(jù)生成 dis[0:-1] = dis2[1:] dis[-1] = a dis2 = dis #繪圖 line.set_ydata(dis) #顏色設(shè)置 plt.setp(line, 'color', 'b', 'linewidth', 2.0) return line ani = animation.FuncAnimation(fig, update,frames=data, interval=10) plt.show()
輸出:
補(bǔ)充拓展:Python繪制mes曲線實例
mes曲線:累計誤差曲線。一般用于測試生成的關(guān)鍵點與標(biāo)定的關(guān)鍵點間的差異情況,差異一般是指兩點間的歐氏距離。
標(biāo)記點坐標(biāo) p_g(x,y)
預(yù)測點坐標(biāo) p_t(x,y)
dist(p_g,p_t)可以計算兩點間的歐氏距離。
def dist(point1,point2): return ((point1[0] - point2[0]) ** 2 + (point1[1] - point2[1]) ** 2) ** 0.5
在人臉的關(guān)鍵點檢測中,dist()計算的距離/雙眼間距離 進(jìn)行歸一化。將歸一化后的值append到MSE,調(diào)用drawCDFSingle(MSE)即可看到累計誤差曲線。
def drawCDFSingle(MSE): plotDataset = [[], []] plt.grid() plt.xlabel("pixel error") plt.ylabel("Fraction of number of landmarks") plt.title('CDF') for i in range(len(MSE[0])): sumnum = 0 mse_point = [x[i] for x in MSE] mse_point.sort() plotDataset[0]=[] plotDataset[1]=[] for t in range(len(mse_point)): plotDataset[0].append(float(t+1)/len(mse_point)) # sumnum=sumnum+float(mse_point[t]) plotDataset[1].append(float(mse_point[t])) plt.plot(plotDataset[1],plotDataset[0] , color[i%len(color)]+linestyle[i%len(linestyle)], linewidth=2, label=i) plt.legend() # make legend plt.show()
上述就是小編為大家分享的使用python怎么繪制動態(tài)曲線了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。