Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

จะแทรกแถบมาตราส่วนในแผนที่ใน Matplotlib ได้อย่างไร?


ในการแทรกแถบมาตราส่วนในแผนที่ใน 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()

ผลลัพธ์

จะแทรกแถบมาตราส่วนในแผนที่ใน Matplotlib ได้อย่างไร?