ในการแทรกแถบมาตราส่วนในแผนที่ใน matplotlib เราสามารถใช้ AnchoredBar() คลาสเพื่อสร้างอินสแตนซ์ของวัตถุมาตราส่วน
ขั้นตอน
-
กำหนดขนาดรูปและปรับช่องว่างภายในระหว่างและรอบๆ แผนผังย่อย
-
สร้างข้อมูลแบบสุ่มโดยใช้ numpy
-
ใช้ imshow() วิธีการแสดงข้อมูลเป็นภาพ เช่น บนแรสเตอร์ปกติ 2 มิติ
-
รับแกนปัจจุบันโดยใช้ gca() วิธีการ
-
วาดแถบมาตราส่วนแนวนอนโดยมีป้ายอยู่ตรงกลางด้านล่าง
-
เพิ่มศิลปินมาตราส่วนไปยังแกนปัจจุบัน
-
ปิดแกน
-
หากต้องการแสดงรูป ให้ใช้ show() วิธีการ
ตัวอย่าง
from matplotlib import pyplot as plt
from mpl_toolkits.axes_grid1.anchored_artists import AnchoredSizeBar
import numpy as np
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
data = np.random.rand(5, 5)
img = plt.imshow(data, cmap="YlGnBu")
ax = plt.gca()
scalebar = AnchoredSizeBar(ax.transData, 1, "1 Meter", 9)
ax.add_artist(scalebar)
ax.axis('off')
plt.show() ผลลัพธ์
