matplotlib的使用——contour等高線的繪制


等高線繪制常用函數

plt.contourf()

該函數用於定義等高線圖兩條線之間的填充物。
應用方法如下:

# 調用等高線的填充物
plt.contourf(X,Y,f_x_y,8,alpha = 0.5,cmap = plt.cm.hot)

其中,X,Y分別代表網格化后的x,y坐標;f_x_y對於等高線而言,其代表了高度;8代表等高線要分為10塊(輸入0時等高線分為2塊);alpha代表每個填充物的透明度;cmap代表填充的色調,這里選擇hot熱烈的色調,其可選擇的內容可以參考https://matplotlib.org/examples/color/colormaps_reference.html。
其調用結果為:

在這里插入圖片描述

plt.contour()

該函數用於定義等高線中的線。
應用方法如下:

# 定義等高線的線的顏色,寬度
C = plt.contour(X,Y,f_x_y,8,colors='black',linewidth = 5)

其中,X,Y分別代表網格化后的x,y坐標;f_x_y對於等高線而言,其代表了高度;8代表等高線要分為10塊(輸入0時等高線分為2塊);colors代表線的顏色;linewidth代表線的寬度。
在這里插入圖片描述

plt.clabel()

該函數用於定義等高線中的標簽。
應用方法如下:

# clabel用於定義等高線的標簽
plt.clabel(C,inline = True,fontsize = 10)

其中,C代表需要添加標簽的線;inline代表標簽添加的位置,當其為True時是上面那副等高線圖的效果,當其為False時,線會穿過數字;fontsize代表標簽大小。下圖為inline = False時的效果。
在這里插入圖片描述
下圖為inline = True時的效果:
在這里插入圖片描述

應用示例

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-1,1,50)
y = np.linspace(-1,1,50)
# x、y的網格化
X,Y = np.meshgrid(x,y)

# 計算f(x,y)的值,對於等高線而言,其代表了高度
f_x_y = -(X**4+Y**3-2*X)*np.sin(X)

# 調用等高線的填充物
plt.contourf(X,Y,f_x_y,8,alpha = 0.5,cmap = plt.cm.hot)

# 定義等高線的線的顏色,寬度
C = plt.contour(X,Y,f_x_y,8,colors='black',linewidth = 5)

# clabel用於定義等高線的標簽
plt.clabel(C,inline = True,fontsize = 10)

plt.xticks(())
plt.yticks(())
plt.show() 



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM