利⽤⼿机绘制标准曲线并且计算相关系数
需求场景
本⼈园艺专业,在做⽣理实验时常常有这样的需求:测量标品的实测值之后,⾝边没有电脑或者电脑上没有office并且不能联⽹。⼿机上wps表格⼜没有办法绘制趋势线和计算person er相关系数(线性相关系数)。
此外,如果能够及时的通过测量数据绘制出标准曲线,得到R值,那么就能过在实验过程中就能够及时修正,确保标准曲线得R值在0.99-0.999之间。
准备⼯作
以Android为例。
下载安装termux,并且安装好python以及numpy,pandas,matplotlib。
实现代码
import numpy as np
import matplotlib.pyplot as plt
import os
#标准品浓度
con =[1,0.5,0.25,0.125,0.0625]
#⽓相峰⾯积
area =[98.25,40.58,21.21,9.88,6.11]
#计算相关系数矩阵
R = np.corrcoef(con, area)
fig, ax = plt.subplots()
#绘制实⼼散点
ax.plot(con, area,"ob")
#拟合趋势线
手机打开svg
z = np.polyfit(con, area,1)
p = np.poly1d(z)
#绘制趋势线
ax.plot(con, p(con),"r-")
#将相关系数矩阵输出在图⽚的title位置
ax.set(xlabel='concetent', ylabel='area',              title=str(R))
#保存图形,并命名为test.png,可以更改格式如eps,svg
fig.savefig("test.png")
#⽤termux-open⽅式打开绘制的图形,因为termux没有图形化界⾯,因此plt.show()⽅法⽆法显⽰
os.system("termux-open test.png")
最后,祝愿各位科研愉快!