其他分享
首页 > 其他分享> > 如何在matplotlib中的地图中插入比例尺

如何在matplotlib中的地图中插入比例尺

作者:互联网

关于如何在matplotlib中的地图中插入比例尺以显示长度比例的任何想法?就像我附上的那样.

或者也许是自动测量和显示距离的任何想法(不是手动绘制箭头和书写距离!)?

谢谢:) enter image description here

解决方法:

在matplotlib中有一个已经存在的称为AnchoredSizeBar的比例尺类.在下面的示例中,AnchoredSizeBar用于向图像添加比例尺(或在100×100米的随机区域上添加地图).

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的四个第一个参数是坐标系的变换对象,比例尺长度,标签和位置.更多可选参数会更改布局.这些在docstring中得到了很好的解释.

ax.set_yticks([])
ax.set_xticks([])

这给了
Scalebar on an image / a map over a 100×100 meter area of random

标签:matplotlib-basemap,python,matplotlib,scale
来源: https://codeday.me/bug/20191001/1837735.html