【数学建模之Python】11.炉温曲线可视化
生活随笔
收集整理的這篇文章主要介紹了
【数学建模之Python】11.炉温曲线可视化
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
如果解決了你的問題,點個贊再走嘛?(?????)?
目前正在做高教杯2020年A題,記錄一下可視化過程,不斷更新
?根據制程界限繪圖
1.已知某次實驗數據(附件中),根據本次實驗數據做可視化
import numpy as np import pandas as pd import matplotlib.pyplot as plt import warningswarnings.filterwarnings('ignore') # 忽略警告plt.rc('font', size=16) plt.rc('font', family='SimHei') plt.rc('axes', unicode_minus=False)a = pd.read_excel('附件.xlsx')T = a.values # 爐溫數據 T_up217 = T[np.where(T[:, 1] > 217)[0]] # 大于217攝氏度的數組 T_up217_time = T_up217[-1, 0] - T_up217[0, 0] # 大于217攝氏度的時間 T_max = T[np.where(T[:, 1] == np.max(T[:, 1]))[0], :] # 峰值溫度及對應時間 T_between150and190 = T[np.where((T[:, 1] > 150) * (T[:, 1] < 190) * (T[:, 0] < T_max[0, 0]))[0]] # 上升過程中150攝氏度至190攝氏度plt.figure('某次實驗爐溫曲線') plt.plot(T[:, 0], T[:, 1], linestyle='--', linewidth=5, color='dodgerblue', alpha=0.5,label='完整數據') # alpha=1時完全不透明,alpha=0時完全透明 plt.plot(T_max[:, 0], T_max[:, 1], linewidth=5, color='black', label='峰值') plt.plot(T_up217[:, 0], T_up217[:, 1], linestyle='-', linewidth=2, color='red', label='大于217攝氏度') plt.plot(T_between150and190[:, 0], T_between150and190[:, 1], linestyle='-', linewidth=2, color='orange',label='上升過程中150攝氏度至190攝氏度') plt.xticks(np.arange(0, 450, 50)) plt.legend() # 顯示圖例 plt.xlabel('時間/t') plt.ylabel('溫度/℃')plt.annotate(s="(%s,%s)和(%s,%s)" % (T_max[0, 0], T_max[0, 1], T_max[1, 0], T_max[1, 1]),xy=(T_max[0, 0], T_max[0, 1]),xytext=(40, 50),textcoords='offset points',arrowprops=dict(headlength=5, width=1, color='black')) # 標注峰值# 大于217攝氏度的標注 plt.annotate(s="(%s,%s)" % (T_up217[0, 0], T_up217[0, 1]),xy=(T_up217[0, 0], T_up217[0, 1]),xytext=(10, -40),textcoords='offset points',arrowprops=dict(headlength=5, width=1, color='red')) # 標注左臨界值 plt.annotate(s="(%s,%s)" % (T_up217[-1, 0], T_up217[-1, 1]),xy=(T_up217[-1, 0], T_up217[-1, 1]),xytext=(50, 0),textcoords='offset points',arrowprops=dict(headlength=5, width=1, color='red')) # 標注右臨界值# 上升過程中150~190攝氏度的標注 plt.annotate(s="(%s,%s)" % (T_between150and190[0, 0], T_between150and190[0, 1]),xy=(T_between150and190[0, 0], T_between150and190[0, 1]),xytext=(10, -40),textcoords='offset points',arrowprops=dict(headlength=5, width=1, color='orange')) # 標注左臨界值 plt.annotate(s="(%s,%s)" % (T_between150and190[-1, 0], T_between150and190[-1, 1]),xy=(T_between150and190[-1, 0], T_between150and190[-1, 1]),xytext=(10, -40),textcoords='offset points',arrowprops=dict(headlength=5, width=1, color='orange')) # 標注右臨界值plt.show()效果圖:?
總結
以上是生活随笔為你收集整理的【数学建模之Python】11.炉温曲线可视化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2022营销邮件软件哪些好用,电子邮件营
- 下一篇: ARM 看门狗定时器