更新時間:2022-04-19 來源:黑馬程序員 瀏覽量:
matplotlib支持向畫布的任意位置添加自定義大小的坐標系統(tǒng),同時顯示坐標軸,而不再受規(guī)劃區(qū)域的限制。pyplot模塊可以使用axes()函數(shù)創(chuàng)建一個Axes類的對象,并將Axes類的對象添加到當(dāng)前畫布中。axes()函數(shù)的語法格式如下:
axes(arg=None, projection=None, polar=False, aspect, frame_on, **kwargs)
該函數(shù)常用參數(shù)的含義如下。
(1)參數(shù)arg支持None、4-tuple中任一取值,每種取值的含義如下。
.None:表示使用subplot(111)添加的與畫布同等大小的Axes對象。
.4-tuple:由4個浮點型元素(取值范圍為0~1)組成的元組(left,bottom,width,height),前兩個元素left和bottom分別表示坐標軸左側(cè)和底部的邊緣到畫布的相對距離,用于確定坐標軸的位置;后兩個元素width和height分別表示坐標軸的寬度和高度,用于確定坐標軸的相對大小。
(2)參數(shù)projection表示坐標軸的類型,可以是None、'aitoff'、'hammer'、'lambert'、'mollweide'、'polar'或'rectilinear'中的任一取值,也可以使用自定義的類型。
(3)參數(shù)plolar表示是否使用極坐標,若設(shè)為True,則其作用等價于projection='polar'。
(4)參數(shù)aspect表示坐標軸縮放的比例,可接收'auto'、'equal'、num中任一取值。
(5)參數(shù)frame_on表示是否繪制每個坐標軸的軸脊。
例如,在距當(dāng)前畫布左側(cè)0.2、畫布底部0.5的位置上添加一個寬度為0.3、高度為0.3的坐標系;在距畫布左側(cè)0.6、畫布底部0.4的位置上添加一個寬度為0.2、高度為0.2的坐標系,具體代碼如下。
import matplotlib.pyplot as plt ax = plt.axes((0.2, 0.5, 0.3, 0.3)) ax.plot([1, 2, 3, 4, 5]) ax2 = plt.axes((0.6, 0.4, 0.2, 0.2)) ax2.plot([1, 2, 3, 4, 5]) plt.show()
運行程序,效果如圖6-1所示。
圖6-1 在畫布中添加多個坐標系
從圖6-1中可以看出,坐標系的位置和大小都是自定義的。
除此之外,還可以使用Figure類對象的add_axes()方法在當(dāng)前畫布的任意位置添加Axes類對象。