前言:
记录并分享 numpy & matplotlib 学习历程 (一)
Matplotlib 是 Python 的绘图库。 它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案。 它也可以和图形工具包一起使用,如 PyQt 和 wxPython。
目的:
1. 在给定的数据中(离散),寻找可能存在的关系(线性或非线性) ;(主要目的)
2. 生成可视化图形方便调试与记录;(次要目的)
内容:
框图:
1. 实现内容 (绿色)及 后续拓展内容(蓝色);
代码:
import numpy as np
from matplotilb import pyplot as plt
data_y = [
...
]
x = np.arrange(起始点,终点,步长)
y = np.array(data_y)
modulus = np.polyfit(x,y,N) # N次多项式拟合,第四个参数rcond 学习中....
express = np.poly1d(modulus)
yvalues = express(x) # 也可以使用yvals=np.polyval(z1,x)
plot1 = plt.plot(x, y, '*',label='original values')
plot2=plt.plot(x, yvals, 'r',label='polyfit values')
plt.legend(loc=1) # 指定legend的位置,象限位置
plt.title("Matplotlib demo")
plt.xlabel("x voltage")
plt.ylabel("y duty")
# Test 验证表达式
x1 = 26
yvals1=express (x1)
print("y1=",yvals1)
plt.show() # 展示图像
笔记:
1. 当前未能解决问题:若给定的数据中出现偏移量较大的会导致拟合的曲线偏差较大,后续解决方法 在录入数据前进行一轮筛选、在录入数据后进行筛选(rcond 参数)发生过拟合时的纠正措施;
2. 待完善获取数据、保存及输出;