透視Matplotlib核心功能和工具包 - 高階特徵繪製

國外課棧發表於2020-11-27

關聯知識

使用屬性迴圈器

Matplotlib具有預設的顏色迴圈,當我們在給定軸上繪製更多圖形時,該顏色迴圈會重複進行。 通過屬性迴圈程式,我們可以在單個函式中為多個屬性定義此類迴圈程式。 如果要繪製具有重複圖案的軸,則可以使用屬性迴圈器實現。

在此示例中,我們使用了pyplot API。 匯入所需的庫:

from cycler import cycler
import numpy as np
from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
from matplotlib.figure import Figure
from IPython.core.display import display

以下程式碼塊繪製了六個tie物件; 後兩個是前兩個的重複。 在此示例中,它在每四個物件之後重複該迴圈:

  • 定義圖形並將其附加到畫布上:

fig = Figure()
FigureCanvas(fig)



*   為圖形設定facecolor,edgecolor和alpha,並新增一個軸:

    ```
fig.set(facecolor='grey', alpha=0.2, edgecolor='m')
ax = fig.add_subplot(111)
  • 設定用於繪製圖形的資料:

x = np.array([0.2, 0.4, 0.6, 0.8, 0.5])
y = [1, 6, 6, 1, 0]



*   為color和hatch屬性定義一個custom_cycler,併為軸設定它:

    ```
custom_cycler = cycler('color', ['g', 'blue', 'y', 'c']) + \
                cycler('hatch', ['+*', 'xx', '+x', '+O.'])
ax.set_prop_cycle(custom_cycler)
  • 繪製六個領帶物件的圖形:
ax.fill(x+1, y)
ax.fill(x+2, y)
ax.fill(x+3, y)
ax.fill(x+4, y)
ax.fill(x+5, y)
ax.fill(x+6, y)
  • 顯示圖形
display(fig)

程式碼分解

  • fig = Figure()定義了圖形物件。
  • FigureCanvas(fig)將圖形物件附加到將在其上繪製圖形的畫布。
  • fig.set(facecolor =‘grey’,alpha = 0.2,edgecolor =‘m’)設定圖形的各種屬性。 通常,我們在軸級別將這些屬性用於單個圖。 但是在這裡,我們在圖級別使用它們。 ax = fig.add_subplot(111)例項化軸。
  • x和y定義繪製座標物件的資料座標。
  • cycler()使用兩個屬性定義屬性迴圈,每個屬性具有四個值。 如果我們為每個屬性提供更多值,則在覆蓋列表中的所有值之後,將重複執行該迴圈。
  • ax.set_prop_cycle(custom_cycler)啟用先前定義的自定義屬性迴圈程式。
  • fill()使用屬性迴圈器中定義的資料座標和屬性來繪製領帶物件。
  • display(fig)在螢幕上顯示圖形。

上述程式碼輸出結果:

詳情參閱http://viadean.com/matplotlib_advanced.html

相關文章