【python】使用python绘制地图时添加指北针
程序员文章站
2022-03-15 15:01:44
本博文基于matplotlib,手动实现在python中绘制地图时添加指北针。代码如下:from mpl_toolkits.basemap import Basemapimport matplotlib.pyplot as pltimport matplotlib.patches as mpatches#-----------函数:添加指北针--------------def add_north(ax, labelsize=18, loc_x=0.88, loc_y=0.85, width=0...
写在前面
本博文基于matplotlib,手动实现在python中绘制地图时添加指北针。
代码如下:
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
#-----------函数:添加指北针--------------
def add_north(ax, labelsize=18, loc_x=0.88, loc_y=0.85, width=0.04, height=0.13, pad=0.14):
"""
画一个比例尺带'N'文字注释
主要参数如下
:param ax: 要画的坐标区域 Axes实例 plt.gca()获取即可
:param labelsize: 显示'N'文字的大小
:param loc_x: 以文字下部为中心的占整个ax横向比例
:param loc_y: 以文字下部为中心的占整个ax纵向比例
:param width: 指南针占ax比例宽度
:param height: 指南针占ax比例高度
:param pad: 文字符号占ax比例间隙
:return: None
"""
minx, maxx = ax.get_xlim()
miny, maxy = ax.get_ylim()
ylen = maxy - miny
xlen = maxx - minx
left = [minx + xlen*(loc_x - width*.5), miny + ylen*(loc_y - pad)]
right = [minx + xlen*(loc_x + width*.5), miny + ylen*(loc_y - pad)]
top = [minx + xlen*loc_x, miny + ylen*(loc_y - pad + height)]
center = [minx + xlen*loc_x, left[1] + (top[1] - left[1])*.4]
triangle = mpatches.Polygon([left, top, right, center], color='k')
ax.text(s='N',
x=minx + xlen*loc_x,
y=miny + ylen*(loc_y - pad + height),
fontsize=labelsize,
horizontalalignment='center',
verticalalignment='bottom')
ax.add_patch(triangle)
###
## 调用
#-----------添加指北针------------
ax = plt.gca()
add_north(ax)
效果预览
代码参考https://blog.csdn.net/weixin_44092702/article/details/99690821
有部分修改。
本文地址:https://blog.csdn.net/qq_32832803/article/details/110910540
推荐阅读
-
Python程序中使用SQLAlchemy时出现乱码的解决方案
-
在arcgis使用python脚本进行字段计算时是如何解决中文问题的
-
Python实现迭代时使用索引的方法示例
-
解决python给列表里添加字典时被最后一个覆盖的问题
-
python利用requests库模拟post请求时json的使用
-
Python使用Beautiful Soup包编写爬虫时的一些关键点
-
浅谈使用Python变量时要避免的3个错误
-
解决pyinstaller在单一文件时无法正确添加权限清单问题,(UAC,uac_admin,manifest,asInvoker,python,requireAdministrator)
-
Python 使用 Pillow 模块给图片添加文字水印的方法
-
python使用PIL给图片添加文字生成海报示例