python繪制動態(tài)曲線教程
從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()
輸出:

補充拓展: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)曲線教程就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
pytorch中permute()函數(shù)用法實例詳解
permute中參數(shù)為張量的維度,將不同維度以不同的維度排列,得到一個新的張量,在深度學(xué)習(xí)中的主要作用是將特征值聚類,下面這篇文章主要給大家介紹了關(guān)于pytorch中permute()函數(shù)用法的相關(guān)資料,需要的朋友可以參考下2022-04-04
TensorFlow中tf.batch_matmul()的用法
這篇文章主要介紹了TensorFlow中tf.batch_matmul()的用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06
一篇文章帶你了解Python的進(jìn)程,線程和協(xié)程
這篇文章主要為大家介紹了Python的進(jìn)程,線程和協(xié)程,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-01-01
python框架Django實戰(zhàn)商城項目之工程搭建過程圖文詳解
這篇文章主要介紹了python框架Django實戰(zhàn)商城項目之工程搭建過程,這個項目很像京東商城,項目開發(fā)采用前后端不分離的模式,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),需要的朋友可以參考下2020-03-03
pycharm激活碼免費分享適用最新pycharm2020.2.3永久激活
免費為大家分享Pycharm激活碼,適用最新版pycharm2020.2.3永久激活,pycharm2018,pycharm2019也可永久激活,可成功激活到2089年2020-11-11

