基於Matplotlib 調用 pyplot 模塊中 figure() 函數處理 figure圖形對象

Matplotlib 中,面向對象編程的核心思想是創建圖形對象(figure object)。通過圖形對象來調用其它的方法和屬性,這樣有助於我們更好地處理多個畫佈。在這個過程中,pyplot 負責生成圖形對象,並通過該對象來添加一個或多個 axes 對象(即繪圖區域)。

Matplotlib 提供瞭matplotlib.figure圖形類模塊,它包含瞭創建圖形對象的方法。通過調用 pyplot 模塊中 figure() 函數來實例化 figure 對象。

如下所示:

from matplotlib import pyplot as plt
#創建圖形對象
fig = plt.figure()

該函數的參數值,如下所示:

參數 說明
figsize 指定畫佈的大小,(寬度,高度),單位為英寸。
dpi 指定繪圖對象的分辨率,即每英寸多少個像素,默認值為80。
facecolor 背景顏色。
dgecolor 邊框顏色。
frameon 是否顯示邊框。

下面使用 figure() 創建一個空白畫佈:

fig = plt.figure()

我們使用add_axes() axes 軸域添加到畫佈中。

如下所示:

ax=fig.add_axes([0,0,1,1])

add_axes() 的參數值是一個序列,序列中的 4 個數字分別對應圖形的左側,底部,寬度,和高度,且每個數字必須介於 0 到 1 之間。

設置 x 和 y 軸的標簽以及標題,如下所示:

ax.set_title("sine wave")
ax.set_xlabel('angle')
ax.set_ylabel('sine')

調用 axes 對象的 plot() 方法,對 x 、 y 數組進行繪圖操作:

ax.plot(x,y)

完整的代碼如下所示:

from matplotlib import pyplot as plt
import numpy as np
import math
x = np.arange(0, math.pi*2, 0.05)
y = np.sin(x)
fig = plt.figure()
ax = fig.add_axes([0,0,1,1])
ax.plot(x,y)
ax.set_title("sine wave")
ax.set_xlabel('angle')
ax.set_ylabel('sine')
plt.show()

輸出結果如下:

在 Jupyter Notebook 中運行程序,結果如下:

到此這篇關於基於Matplotlib 調用 pyplot 模塊中 figure() 函數處理 figure圖形對象的文章就介紹到這瞭,更多相關Matplotlib figure圖形對象內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: