matplotlib作圖示例——阻尼衰減曲線、XRD數據繪圖、三角函數繪圖、超越函數繪圖、正態分佈隨機數(插值多項式)
源碼地址: handle_matplotlib_pic
代碼只在mpl_pic.py
中、XRD數據是XRD_AFO.csv
方便的話,幫忙點個star~
1.阻尼衰減曲線
注意點
- 線條樣式和顏色
# plot()函數裏面的參數 分別代表 顏色爲藍色,線寬1,線類型爲隔斷的線條- -(正常線條爲-)
color='blue', linewidth=1, linestyle="--"
- 右上角圖例的製作
圖例中包含希臘字母更詳細的信息參考希臘字母寫法
# 圖例描述文字 plot()函數裏面的label參數,$$符號之間標明有特殊的表達方式
# _下劃線是註腳樣式的字符(小一號的字符,德爾塔在字母p的左下角)、\delta是小寫希臘字母德爾塔的表示方式
label=r"exp$_\delta$ecay"
# $x^{2}$代表x的平方,冪次數2在x的右上角
label="cos($x^{2}$)"
# 圖例位置 上 右
plt.legend(loc='upper right')
- 橫縱左表和標題的添加
# 標題 橫縱軸描述
plt.title(u"阻尼衰減曲線")
plt.xlabel("時間(s)")
plt.ylabel("幅度(mV)")
- 陰影的繪製
# 陰影區
# 定義橫軸範圍0.8到3
a,b = 0.8, 3
xf = t1[np.where((t1 > a) & (t1 < b))]
plt.fill_between(xf, f(xf), alpha=0.25) # 填充
# plt.fill_between(xf,f(xf),f2(xf), alpha=0.25) # 自定義陰影區
2.XRD數據繪圖
本來蠻簡單的,被我想複雜了,emm浪費了一些時間,詳情見源碼
3.正弦、餘弦、正切圖案及畫布佈局方式
注意點
- 標註的畫法——Matplotlib 中文用戶指南 4.5 標註
效果圖如下,這種是gs = gridspec.GridSpec(2, 2)
將繪圖區分成兩行兩列的方式
這種方式比較固定,子圖之間不能覆蓋,死板一些plt.subplot(221)
代表2×2畫布第一塊,可以看到第三塊的位置是空白,所以採取第一種方式
4.超越函數繪圖
超越函數爲cos(num_list) + x**4 + x**3 + 198 + e**3 - log(x+1)
num_list爲np.linspace()生成的數組
5.正態分佈隨機數、插值多項式
np.random.normal()
生成正態分佈的數,用 quadratic
插值(2階B樣條曲線插值)或者 cubic
插值獲得的結果都是一致的