簡體   English   中英

Matplotlib的圖和軸解釋

[英]Matplotlib's Figure and Axes explanation

我對matplotlib來說真的很新,不過我知道它可以非常強大。 我一直在閱讀一些教程和示例,了解matplotlib的圖和軸如何工作真的很麻煩。 我用附圖說明了我想要理解的內容。 在此輸入圖像描述

我知道如何以英寸為單位創建一定大小的圖形實例。 然而,困擾我的是如何在每個子圖中創建子圖,然后在相對坐標(底部= 0,左= 0,頂部= 1,右邊= 1)中創建軸,如圖所示。 所以,例如我想創建一個“父”繪圖區域(比如說(6英寸,10英寸))。 然后,我想創建兩個子圖區域,每個區域的大小(3英寸,3英寸),頂部距離為1英寸,兩個垂直子圖區域之間為2英寸,底部為1英寸。 然后,在左邊的1英寸空間和寫入的2英寸空間。 同時,我希望能夠獲得相對於主要繪圖區域的子圖區域的坐標。 然后,在第一個子圖區域內,我想創建2個軸實例,其中Axis 1具有相對於Subplot Area1(0.1,0.7,0.7,0.2)和Axes 2(0.1,0.2,0.7,0.5)的坐標。 當然,我希望能夠在這些軸上繪圖,例如, ax1.plot()....
如果你能提供一個示例代碼來實現它,那么我可以研究它。 非常感謝您的幫助!

subplotAxes對象實際上是一回事。 你在matplotlib中描述的並沒有真正的“subplot”。 您可以使用gridspec創建三個Axes對象,而無需將它們放在“子圖”中。

在圖中創建Axes實例有幾種不同的方法。

fig.add_axes將在給定的位置創建一個Axes實例(在圖坐標中給出它[left,bottom,width,height] (即0,0是左下角, 1,1是右上角)。

fig.add_subplot還將創建一個Axes實例。 在這種情況下,不是給它創建一個矩形,而是給它你想要的子圖的行數和列數,然后是plot_number ,其中plot_number從1開始,首先在行之間遞增,最大值為nrows * ncols

例如,要在2行和2列的網格中創建左上角的軸,可以執行以下操作:

fig.add_subplot(2,2,1)

或速記

fig.add_subplot(221)

還有一些可自定義的方法來創建Axes ,例如gridspecsubplot2grid ,它們可以輕松創建許多不同形狀和大小的子圖。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM