首頁技術(shù)文章正文

Python培訓(xùn):繪制多子圖

更新時間:2022-04-06 來源:黑馬程序員 瀏覽量:

  使用pyplot的subplots()函數(shù)可以在規(guī)劃好的所有區(qū)域中一次繪制多個子圖。subplots()函數(shù)的語法格式如下:

  該函數(shù)常用參數(shù)的含義如下:

subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True,
subplot_kw=None, gridspec_kw=None, **fig_kw)

  ·nrows:表示規(guī)劃區(qū)域的行數(shù),默認(rèn)為1。

  ·ncols:表示規(guī)劃區(qū)域的行列數(shù),默認(rèn)為1。

  ·sharex,sharey:表示是否共享子圖的x軸或y軸。

  ·squeeze:表示是否返回壓縮的Axes對象數(shù)組,默認(rèn)為True。當(dāng)squeeze為True時,若nrows和ncols均為1,則subplots()函數(shù)會返回一個Axes對象;若nrows和ncols均大于1,則subplots()函數(shù)會返回一個Axes對象數(shù)組。當(dāng)參數(shù)squeeze為False時,subplots()函數(shù)會返回一個包含Axes對象的二維數(shù)組。

  ·gridspec_kw:表示用于控制區(qū)域結(jié)構(gòu)屬性的字典。

  subplots()函數(shù)會返回一個包含兩個元素的元組,其中元組的第一個元素為Figure對象,第二個元素為Axes對象或Axes對象數(shù)組。

  例如,將畫布規(guī)劃成2x2的矩陣區(qū)域,之后在第3個區(qū)域中繪制子圖,代碼如下。

import matplotlib.pyplot as plt
# 將畫布劃分為2x2的等分區(qū)域
fig, ax_arr = plt.subplots(2, 2)
# 獲取ax_arr數(shù)組第1行第0列元素,也就是第3個區(qū)域
ax_thr = ax_arr[1, 0]
ax_thr.plot([1, 2, 3, 4, 5])
plt.show()

  運行程序,效果如圖5-7所示。

1649214199459_一次繪制的多個子圖.png

  圖5-7 一次繪制的多個子圖

分享到:
在線咨詢 我要報名
和我們在線交談!