Matplotlib變換


matplotlib包構建在轉換框架之上,可以在坐標系之間輕鬆移動。可以使用四個坐標系。這些系統在下表中簡要描述 -

坐標 轉換物件 描述
Data ax.transData 使用者陸地資料坐標系,由xlimylim控制
Axes ax.transAxes 軸的坐標系。(0,0)在左下方,(1,1)在軸的右上方。
Figure fig.transFigure 圖的坐標系。(0,0)在左下方,(1,1)在圖的右上方
display None 這是顯示器的畫素坐標系。(0,0)是左下角,(寬度,高度)是顯示的右上角(以畫素為單位)。或者可以使用(matplotlib.transforms.IdentityTransform())代替None

考慮以下範例 -

axes.text(x,y,"my label")

文字位於資料點(x,y)的理論位置。也稱為「資料坐標」。
使用其他轉換物件,可以控制放置。例如,如果要將上述測試放在軸坐標系的中心,請執行以下程式碼行 -

axes.text(0.5, 0.5, "middle of graph", transform=axes.transAxes)

這些轉換可用於任何型別的Matplotlib物件。ax.text的預設轉換是ax.transDatafig.text的預設轉換是fig.transFigure

在軸上放置文字時,軸坐標系非常有用。可能經常需要在固定位置使用文字氣泡; 例如,在軸窗格的左上方,平移或縮放時該位置保持固定。