天天看點

8.Matplotlib繪圖--等高線

by:維基百科

等高線指的是​​地形圖​​​上高程相等的各點所連成的閉合​​曲線​​​,是​​等值線​​​的一種特殊形式​​[1]​​​。在等高線上标注的數字為該等高線的​​海拔​​高度。等高線按其作用不同,可分為首曲線、計曲線、間曲線與助曲線四種。除地形圖之外,等高線也見于俯視圖、陰影圖等形式。

用于​​海​​​、​​湖泊​​的等高線,稱為等深線。

等高線是通過連接配接地圖上的​​海拔高度​​相同的點得到的。等高線一般不相交,但有時可能會重合。在同一等高線上的各點高度相同。在等高線稀疏的地方,坡度較緩;而在等高線稠密的地方,坡度較陡。

step1:填充色

import matplotlib.pyplot as plt
import numpy as np

#定義x/y坐标
x=np.linspace(-3,3,100)
y = np.linspace(-3,3,100)

def f(x,y):
    return (1-x/2+x**5+y**3)*np.exp(-x**2-y**2)

#将原始資料變成網格資料
X,Y=np.meshgrid(x,y)
print(x)
print("*"*88)
print(X)
Height = f(X,Y)

#填充顔色
#X,Y,Height:點位置,以及對應的高度資料
#alpha: 0~1,alpha=0-->無色圖  alpha=1-->深色
plt.contourf(X,Y,Height,10,alpha=0.9,cmap=plt.cm.hot)      

alpha=0.2:

8.Matplotlib繪圖--等高線

alpha = 0.6:

8.Matplotlib繪圖--等高線

alpha = 0.99

8.Matplotlib繪圖--等高線

step2:#繪等高線

#C=plt.contour(X,Y,Height,10,colors='black',linewidth=0.5)      

step3:填注釋,去掉坐标軸刻度

plt.clabel(C,inline=True,fontsize=10)
plt.xticks(())
plt.yticks(())
plt.show()