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