matplotlib实战(绘制电学实验中的改装表校准线)

原始数据来源:按电学实验《指针式电表的改装与测量》规范操作所得。
原始表头刻度[20, 40, 60, 80, 100](单位:uA)
改装为1mA电流表[0.2020, 0.3983, 0.5942, 0.7999, 1.0061](单位:mA)

改装为10mA电流表[2.003, 3.972, 5.996, 7.963, 10.029](单位:mA)

改装为1.5V电压表[0.298, 0.589, 0.886, 1.192, 1.497](单位:V)

以原始表头刻度为x,改装后标准表读数为y,绘制校准线。理论上校准线应为正比列函数,下面就来绘制校准线验证线性关系。

需要画三种改装表的校准线,这里我选择把三张表画在一个画板上。

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(20, 101, 20)
x_ = np.arange(20, 101, 10)
x_inv = []
for i in range(len(x_)):
    x_inv.append('')
# 由于三个图的x坐标都一样,前两个图的横坐标的刻度(ticks)和标签(label)都不必显示

y1 = [0.2020, 0.3983, 0.5942, 0.7999, 1.0061]
y2 = [2.003, 3.972, 5.996, 7.963, 10.029]
y3 = [0.298, 0.589, 0.886, 1.192, 1.497]


plt.figure(figsize=(6, 10))
plt.style.use('seaborn-notebook')

# 第一个子图
plt.subplot(3, 1, 1)
plt.title('range = 1mA')
plt.grid(True)
plt.plot(x, y1, "b-*")

for i in range(5):  # 在每个点上标出具体数值
    plt.text(x[i]-3, y1[i]+y1[1]*0.1, s=y1[i])

plt.xticks(x_, x_inv)
plt.ylabel('standard scale/mA')

# 第二个子图
plt.subplot(3, 1, 2)
plt.title('range = 10mA')
plt.grid(True)
plt.plot(x, y2, "g-*")
for i in range(5):
    plt.text(x[i]-3, y2[i]+y2[1]*0.1, s=y2[i])
plt.xticks(x_, x_inv)
plt.ylabel('standard scale/mA')

# 第三个子图
plt.subplot(3, 1, 3)
plt.title('range = 1.5V')
plt.grid(True)
plt.plot(x, y3, "y-*")

for i in range(5):
    plt.text(x[i]-3, y3[i]+y3[1]*0.1, s=y3[i])

plt.xticks(x_)
plt.xlabel('origin scale/uA')  
plt.ylabel('standard scale/mA')

plt.show()

最后画出的图为

线性关系得以验证 ,几乎是一条直线,实验比较成功。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值