python - 如何在 matplotlib 的 map 中插入比例尺

标签 python matplotlib scale matplotlib-basemap

关于如何在显示长度比例的 matplotlib map 中插入比例尺的任何想法?类似于我附上的那个。

或者可能有任何关于自动测量和显示距离的想法(不是绘制箭头并手动写入距离!)?

谢谢 :) enter image description here

最佳答案

在 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([])

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

关于python - 如何在 matplotlib 的 map 中插入比例尺,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39786714/

相关文章:

javascript - 使元素在 css 缩放后表现相同

canvas - 在对象缩放时,fabric.js 中矩形的宽度和高度不会改变

Android放大图标drawable的透明背景

python - 在 setup.py 中清理 C++ 扩展构建目录

python - matplotlib yticks 中的值错误

python - 如何使用 Python 在 Blender 2.49 中设置世界背景纹理?

python - Matplotlib 箱线图 : what algorithm is used to calculate range and identify outliers?

python - matplotlib log scales 导致缺失点

python - Django url 没有事件与给定的查询匹配?

Python - 如何在 Python 中剪切字符串?