一、基本定義
plt.grid是matplotlib.pyplot庫中的一個函數,可以在matplotlib圖中添加網格線。它的參數包括b:是否加粗,默認為加粗;ls:鏈接符號,用於指定鏈接符號的類型;alpha:灰度值或透明度值,範圍為0-1,默認為1。
二、用法詳解
plt.grid常用於繪製二維圖表中,通常用戶在查看圖表數據的時候需要更加直觀的理解數據的分布情況,這個時候就可以使用plt.grid來給二維圖表添加一些分割線,使得數據更加清晰的表現出來,從而更好的進行分析。接下來介紹plt.grid的具體用法:
import matplotlib.pyplot as plt import numpy as np x = np.linspace(-np.pi, np.pi, 200) y1 = np.sin(x) y2 = np.cos(x) plt.plot(x, y1, color="blue", linewidth=1.5, label="sin(x)") plt.plot(x, y2, color="red", linewidth=1.5, linestyle="--", label="cos(x)") plt.legend(loc="upper right") plt.grid(True, linestyle="--", alpha=0.5) plt.show()
這段代碼中x為-π到π之間200個等差值,y1為對應的sin函數值,y2為對應的cos函數值,在作圖前需要先引入matplotlib庫和numpy庫。將x與y1作為一個序列,顏色為藍色,線寬為1.5像素,並將其標識為“sin(x)”。將x與y2作為另一個序列,顏色為紅色,線寬為1.5像素,線條類型為虛線,並將其標識為“cos(x)”。之後將圖例置於右上角,並使用plt.grid函數在圖中添加網格線,線性樣式設為”–“,透明度設為0.5,最後顯示圖形。
三、plt.grid創新實踐
除了在基本的二維圖表中使用plt.grid,我們也可以將其融合在其他創新實踐中。以下展示三個不同的例子:
1、極坐標圖中使用plt.grid
import matplotlib.pyplot as plt import numpy as np theta = np.linspace(0, 2 * np.pi, 24, endpoint=True) theta = np.append(theta, [theta[0]]) r = np.linspace(0, 1, num=25) ax = plt.subplot(111, polar=True) ax.plot(theta, r, 'r-', linewidth=2) ax.set_rgrids(np.arange(0.2, 1, 0.2), angle=0) ax.grid(True) ax.set_title("Polar Grid Example") plt.show()
這段代碼中,首先生成了24個等分的角度和25個等分的半徑值,用於構建一個極坐標圖。隨後使用plt.subplot創建一個縱軸為半徑的極坐標軸系,然後通過plot()函數繪製極坐標折線圖。設置半徑的網格範圍為0.2-1,網格線顏色為黑色,線寬為1,並顯示極坐標網格線。
2、圖片標定中使用plt.grid
import matplotlib.pyplot as plt import numpy as np fig, ax = plt.subplots() h, w, d = np.random.random((3, 5, 5)) ax.imshow(h) ax.grid(which='major', alpha=0.5) plt.show()
這段代碼中,首先生成了一個隨機的3D數組,然後使用imshow函數將其顯示為灰度圖像。之後使用plt.grid函數添加網格,將樣式設為“major”,透明度為0.5。
3、熱度圖中使用plt.grid
import matplotlib.pyplot as plt import numpy as np data = np.random.rand(10, 10) fig, ax = plt.subplots() im = ax.imshow(data, cmap='gist_earth') cbar = ax.figure.colorbar(im, ax=ax) ax.grid(which='major', axis='both', linestyle='-', color='k', linewidth=2) ax.set_xticks(np.arange(-.5, 10, 1)); ax.set_yticks(np.arange(-.5, 10, 1)); plt.show()
這段代碼中,首先生成了一個隨機的10×10數組,並使用imshow函數將其繪製為熱度圖像。隨後使用colorbar函數為熱度圖添加顏色標識條。接着使用plt.grid函數為熱度圖添加網格,其中位於主要軸和次要軸上的網格線使用黑色實線繪製,線寬為2。
原創文章,作者:GCFPF,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/333729.html