千家信息网

matplotlib Basemap中如何加载shp文件

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,小编给大家分享一下matplotlib Basemap中如何加载shp文件,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!matplotlib是python中的一个画图插件;matpl
千家信息网最后更新 2026年11月03日matplotlib Basemap中如何加载shp文件

小编给大家分享一下matplotlib Basemap中如何加载shp文件,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

matplotlib是python中的一个画图插件;

matplotlib支持二维图的效果,也支持三维图的效果,在大数据的制作中,可以以地图为底,在旁边加上柱状图的效果,达到一个三维立体的效果,python现成的库有很多,这在开发中就比较方便,可以直接import进来使用。

matplotlib的Basemap中包含解析常用的shp格式矢量数据,通过读取shp文件,可以很方便的在Basemap上进行画图。
下边是根据Basemap的一个例子,说明如何读取shp,并将shp里的数据画在地图上:

#引用相应的类库

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap as Basemap
# 设置地图的坐标系和坐标显示范围
m = Basemap(llcrnrlon=-100.,llcrnrlat=0.,urcrnrlon=-20.,urcrnrlat=57.,
projection='lcc',lat_1=20.,lat_2=40.,lon_0=-60.,
resolution ='l',area_thresh=1000.)
fig=plt.figure()
# 读取shp文件,注意第二个参数是shp文件在地图里的名称,接下来要用的.
shp_info = m.readshapefile('huralll020','hurall',drawbounds=False)
print(shp_info)
#在地图中找到shp文件,读取shp文件中的属性
names = []
for shapedict in m.hurall_info:
cat = shapedict['CATEGORY']
name = shapedict['NAME']
if cat in ['H4','H5'] and name not in names:
if name != 'NOT NAMED': names.append(name)
print(names)
print(len(names))
# 根据属性,在地图上画图
for shapedict,shape in zip(m.hurall_info,m.hurall):
name = shapedict['NAME']
cat = shapedict['CATEGORY']
if name in names:
xx,yy = zip(*shape)
# plot为在地图上画图
if cat in ['H4','H5']:
m.plot(xx,yy,linewidth=1.5,color='r')
elif cat in ['H1','H2','H3']:
m.plot(xx,yy,color='k')
# 在地图上画其他辅助要素,国界,经纬度线等
m.drawcoastlines()
m.drawcountries()
m.drawmapboundary(fill_color='#99ffff')
m.fillcontinents(color='#cc9966',lake_color='#99ffff')
m.drawparallels(np.arange(10,70,20),labels=[1,1,0,0])
m.drawmeridians(np.arange(-100,0,20),labels=[0,0,0,1])
#设置图的标题
plt.title('Atlantic Hurricane Tracks (Storms Reaching Category 4, 1851-2004)')
plt.show()

看完了这篇文章,相信你对"matplotlib Basemap中如何加载shp文件"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

地图 文件 效果 数据 坐标 属性 篇文章 三维 支持 接下来 例子 参数 名称 国界 坐标系 完了 常用 插件 更多 标题 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广东万易互联网科技有限公司惠州分公司 互联网和科技技术 互联网科技的 期待互联网科技 齐家互联网科技 互联网 科技馆 互联网实体化科技化 恒银科技与互联网金融 本届互联网博览会上的黑科技 天津腾达互联网科技有限公司 乌鲁木齐新华智原互联网科技学校 东莞新华互联网科技学校 互联网科技资金流入 半导体行业属于互联网高科技类吗 2021世界互联网领先科技成果发布 山东大美朱楼互联网科技有限公司 全球科技与互联网公司市值变化 北京互联网科技类企业分布 保山浩联互联网科技有限公司 小牛互联网科技有限公司地址 广州大一互联网络科技有限公司 西安纸贵互联网科技有限公司 互联网是不是新科技 互联网科技博客 无锡溥仪互联网科技有限公司 互联网科技公司需要的职位 深圳市优智互联网科技有限公司 皮皮虾互联网科技有限公司 互联网科技创新方面的资料 山东亿川互联网科技有限责任公司
0