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()計算的距離/雙眼間距離 進行歸一化。將歸一化后的值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)文章
tensorflow使用range_input_producer多線程讀取數(shù)據(jù)實例
今天小編就為大家分享一篇tensorflow使用range_input_producer多線程讀取數(shù)據(jù)實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01
Python使用cx_Oracle模塊將oracle中數(shù)據(jù)導(dǎo)出到csv文件的方法
這篇文章主要介紹了Python使用cx_Oracle模塊將oracle中數(shù)據(jù)導(dǎo)出到csv文件的方法,涉及Python中cx_Oracle模塊與csv模塊操作Oracle數(shù)據(jù)庫及csv文件的相關(guān)技巧,需要的朋友可以參考下2015-05-05
python中的logging模塊的簡單應(yīng)用和高級使用
在?Python?中,可以使用內(nèi)置的?logging?模塊來記錄應(yīng)用程序的信息,logging?模塊還提供了一些高級功能,如日志回溯、日志輪換、日志緩沖等,需要的朋友可以參考下2023-04-04
Django框架orM與自定義SQL語句混合事務(wù)控制操作
這篇文章主要介紹了Django框架orM與自定義SQL語句混合事務(wù)控制操作,結(jié)合實例形式分析了同一個方法里面既有ORM又有自定義SQL 語句的情況下事務(wù)控制相關(guān)操作技巧,需要的朋友可以參考下2019-06-06
Python實現(xiàn)簡單的ui界面的設(shè)計步驟(適合小白)
當(dāng)我們書寫一個python程序時,我們在控制臺輸入信息時,往往多有不便,并且為了更加美觀且直觀的方式輸入控制命令,我們常常設(shè)計一個ui界面,這樣就能方便執(zhí)行相關(guān)功能,如計算器、日歷等界面,本博客是為了給ui設(shè)計的小白進行講解,需要的朋友可以參考下2024-07-07

