最佳答案
在 matplotlib 中有一个已经存在的比例尺类,名为 AnchoredSizeBar .在下面的示例中,AnchoredSizeBar 用于向图像添加比例尺(或映射到 100x100 米的随机区域)。
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])
范围定义图像的水平和垂直值的最大值和最小值。
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)
AnchoredSizeBar 的前四个参数分别是坐标系变换对象、比例尺长度、标签和位置。更多可选参数会更改布局。这些在文档中有解释。
ax.set_yticks([])
ax.set_xticks([])
这给出了
关于python - 如何在 matplotlib 的 map 中插入比例尺,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39786714/