參考自Matplotlib Python 畫圖教程 (莫煩Python)(12)_演講•公開課_科技_bilibili_嗶哩嗶哩 https://www.bilibili.com/video/av16378354/index_10.html#page=12
"""繪制等高線圖""" import numpy as np import matplotlib.pyplot as plt def calcu_elevation(x1, y1): # 計算高程 ele = (1-x1/2+x1**5+y1**3)*np.exp(-x1**2-y1**2) return ele n = 256 x = np.linspace(-3, 3, n) y = np.linspace(-3, 3, n) X, Y = np.meshgrid(x, y) # 將原始數據變為網格數據 # 填充等高線的顏色, 8是等高線分為幾部分 plt.contourf(X, Y, calcu_elevation(X, Y), 8, alpha=0.75, cmap=plt.cm.hot) # 8表示要分幾部分等高線 # 畫等高線 C = plt.contour(X, Y, calcu_elevation(X, Y), 8, colors='black', linewidth=0.5) plt.clabel(C, inline=True, fontsize=10) # 添加文字標簽 inlins表示等高線是穿過數字還是不穿過 plt.xticks([]) plt.yticks([]) plt.show()