có một một đã cũ isting lớp cho scalebars trong matplotlib gọi là AnchoredSizeBar. Trong ví dụ dưới đây, AnchoredSizeBar được sử dụng để thêm một thanh tỷ lệ vào một hình ảnh (hoặc ánh xạ trên một vùng ngẫu nhiên 100x100 mét).
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1.anchored_artists import AnchoredSizeBar
import matplotlib.font_manager as fm
fontprops = fm.FontProperties(size=18)
fig, ax = plt.subplots()
ax.imshow(np.random.random((10,10)),extent=[0,100,0,100])
Độ dài xác định hình ảnh tối đa và tối của giá trị ngang và dọc.
scalebar = AnchoredSizeBar(ax.transData,
20, '20 m', 'lower center',
pad=0.1,
color='white',
frameon=False,
size_vertical=1,
fontproperties=fontprops)
ax.add_artist(scalebar)
Bốn đối số đầu tiên cho AnchoredSizeBar là đối tượng chuyển đổi của hệ tọa độ, chiều dài thanh rộng, nhãn và vị trí. Các đối số tùy chọn khác sẽ thay đổi bố cục. Chúng được giải thích tốt trong docstring.
ax.set_yticks([])
ax.set_xticks([])
Điều này cho phép Scalebar on an image/a map over a 100x100 meter area of random
Xem câu hỏi này cũng như: [? Có cách nào thuận tiện để thêm một chỉ số quy mô lớn để một âm mưu trong matplotlib] (https://stackoverflow.com/questions/43258638/is-there-a-thuận tiện-cách-to-add-a-tỷ lệ-chỉ số-to-a-lô-trong-matplotlib) – ImportanceOfBeingErnest