basemap生成地图散点图

本文介绍了如何利用Python的Basemap库根据微信好友城市分布比例生成地图散点图。首先,绘制中国地图,然后统计各城市好友数量,形成城市与经纬度的字典。接着,根据城市数量映射为散点大小,通过颜色管理方案随机分配颜色。最终展示效果图及代码,尽管数据集中于一个城市,仍展示了实现方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一,简介:
最近想将微信好友的所在城市画在地图上,可以使用basemap,但搜索了很久,也没找到一个适合的案例,大家基本上讲得不明不白,很多人甚至只是转载别人的做法,或者颜色和散点的大小是通过data预先设计好的。
我需要根据分布比例的大小来计算散点的大小,并通过一组颜色管理方案随机分配颜色,现在我做出来了,分享给大家。
二,实现的思路:
1,绘制地图,引用中国和台湾地图,如果你是外国友人,好友主要分布在国外,也可以使用世界地图;
2,统计各个城市好友的数量,映射好友所在城市:城市经纬度坐标形成字典;
3,统计同一个城市好友的数量,映射成城市:数量形成字典;
4,使用range(len(城市的数量))和plt.cm.parameter生成系列颜色的映射并显示在图表上。
三,效果图(只是我的好友集中分布于一个城市,数据比例看起来不太协调)
在这里插入图片描述
四,代码。

def drawFriendCityMap():
    posDict=getFriendArea()
    plt.figure(figsize=(9.87,6.92))
    m=Basemap(projection='aea',llcrnrlon=79,llcrnrlat=14,urcrnrlon=138,urcrnrlat=52,lat_0=25,lon_0=110)
    m.readshapefile('.\gadm36_CHN_shp\gadm36_CHN_1','states',drawbounds=True)
    m.readshapefile('.\gadm36_TWN_shp\gadm36_TWN_0','states',drawbounds=True)
    m.shadedrelief()#etopo绘制地形图,shadedrelief是浮雕图,默认是空白轮廓图
    fo=open('data.txt','r',encoding='utf-8-sig').
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值