ToB企服应用市场:ToB评测及商务社交产业平台

标题: 【物理教学】不正确温度计图像代码分享 [打印本页]

作者: 没腿的鸟    时间: 2024-9-2 09:52
标题: 【物理教学】不正确温度计图像代码分享
这段Python代码用于绘制温度计校准的图像。它包括以下功能:
用户输入:允许用户输入温度计在冰水混合物和沸水中的读数,以及一个现实温度值。
计算校准因子:根据用户输入的冰水混合物和沸水的读数,计算温度计的校准因子。
计算表现温度:根据用户输入的现实温度,计算温度计的表现温度。
绘制图像:绘制现实温度与表现温度的关系图,并在图像上标志特定点。
添加时间戳:在图像的右下角添加天生图像的时间。

  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. from datetime import datetime
  4. # 设置中文字体和负号正常显示
  5. plt.rcParams['font.sans-serif'] = ['SimHei']
  6. plt.rcParams['axes.unicode_minus'] = False
  7. def calculate_calibration_factor(T_ice_reading, T_boiling_reading, T_ice_actual, T_boiling_actual):
  8.     # 计算校准因子
  9.     return (T_boiling_actual - T_ice_actual) / (T_boiling_reading - T_ice_reading)
  10. def calculate_thermometer_reading(T_actual, calibration_factor, T_ice_reading, T_ice_actual):
  11.     # 计算温度计的读数
  12.     return (T_actual - T_ice_actual) / calibration_factor + T_ice_reading
  13. # 用户输入
  14. T_ice_reading = float(input("请输入温度计在冰水混合物中的读数:"))
  15. T_boiling_reading = float(input("请输入温度计在沸水中的读数:"))
  16. T_ice_actual = 0  # 冰水混合物的实际温度
  17. T_boiling_actual = 100  # 标准大气压下沸水的实际温度
  18. # 计算校准因子
  19. calibration_factor = calculate_calibration_factor(T_ice_reading, T_boiling_reading, T_ice_actual, T_boiling_actual)
  20. # 用户输入实际温度
  21. T_actual = float(input("请输入实际温度:"))
  22. # 计算温度计的读数
  23. T_r = calculate_thermometer_reading(T_actual, calibration_factor, T_ice_reading, T_ice_actual)
  24. print(f"在实际温度 {T_actual}℃ 下,温度计的读数为:{T_r:.2f}℃")
  25. # 获取当前时间
  26. current_time = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
  27. # 绘制图像
  28. plt.figure(figsize=(10, 5))
  29. plt.plot([0, 100], [T_ice_reading, T_boiling_reading], label='显示温度', color='blue')
  30. plt.plot([0, 100], [0, 100], label='真实温度', linestyle='--', color='red')
  31. # 相交点
  32. plt.scatter(T_actual, T_r, color='black', edgecolor='red', s=80, marker='o', facecolors='none')  # 绘制数据点
  33. # 向横纵坐标轴做垂线
  34. plt.axvline(x=T_actual, color='black', linestyle='--')
  35. plt.axhline(y=T_r, color='black', linestyle='--')
  36. # 标记数值
  37. plt.text(T_actual, T_r + 2, f'({T_actual:.0f}°C, {T_r:.2f}°C)', color='red', verticalalignment='bottom')
  38. # 添加生成图像的时间
  39. plt.text(0.95, 0.05, f'生成时间:{current_time}', horizontalalignment='right', verticalalignment='bottom', transform=plt.gca().transAxes)
  40. plt.title('温度校准图像')
  41. plt.xlabel('实际温度 (°C)')
  42. plt.ylabel('显示温度 (°C)')
  43. plt.legend()
  44. plt.grid(True)
  45. plt.show()
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4