首頁技術文章正文

大數據Python培訓:自定義布局

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

  matplotlib的gridspec模塊是專門指定畫布中子圖位置的模塊,該模塊中包含一個GridSpec類,通過顯式地創(chuàng)建GridSpec類對象來自定義畫布中子圖的布局結構,使得子圖能夠更好地適應畫布。GridSpec類的構造方法的語法格式如下:

GridSpec(nrows, ncols, figure=None, left=None, bottom=None, right=None, 
         top=None, wspace=None, hspace=None, width_rations=None, height_rations=None)

  該方法常用參數的含義如下。

  .nrows:表示行數。

  .ncols:表示列數。

  .figure:表示布局的畫布。

  .left,bottom,right,top:表示子圖的范圍。

  .wspace:表示子圖之間預留的寬度量。

  .hspace:表示子圖之間預留的高度量。

  GridSpec類對象的使用方式與數組的使用方式相似,采用索引或切片的形式訪問每個布局元素。此外,matplotlib中還為Figure對象提供了快速添加布局結構的方法add_gridspec()。下面分別使用兩種方式創(chuàng)建自定義的布局結構。

  (1)使用GridSpec()方法創(chuàng)建子圖的布局結構

  這種方式需要創(chuàng)建子圖和GridSpec類對象,之后在調用add_subplot()方法時傳入GridSpec類對象即可,具體示例如下。

import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
fig2 = plt.figure()
spec2 = gridspec.GridSpec(ncols=2, nrows=2, figure=fig2)
f2_ax1 = fig2.add_subplot(spec2[0, 0])
f2_ax2 = fig2.add_subplot(spec2[0, 1])
f2_ax3 = fig2.add_subplot(spec2[1, 0])
f2_ax4 = fig2.add_subplot(spec2[1, 1])
plt.show()

  以上示例創(chuàng)建的子圖布局如圖5-17所示。

1649814881129_使用GridSpec()方法創(chuàng)建子圖的自定義布局.jpg

  圖5-17 使用GridSpec()方法創(chuàng)建子圖的自定義布局

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