首頁技術(shù)文章正文

向任意位置添加坐標軸

更新時間: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所示。

1650347648496_在畫布中添加多個坐標系.png

  圖6-1 在畫布中添加多個坐標系

  從圖6-1中可以看出,坐標系的位置和大小都是自定義的。

  除此之外,還可以使用Figure類對象的add_axes()方法在當(dāng)前畫布的任意位置添加Axes類對象。

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