【数据可视化实验-8】地理空间型图表之点分布地图

实验内容:
绘制点分布图,将地理空间中某类或某些类别的点呈现于地图中。
实验要求:
自选地理空间数据集,绘制点分布地图;
说明数据集来源,详细介绍数据集内容。
实验目的:
掌握通过在地理背景上绘制点来表示数据在地理空间上分布的方法,理解地图投影原理。
#-----------------------------Method:basemap--------------------------------------------------
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
from matplotlib.patches import Polygon
import pandas as pd
import numpy as np

df_city=pd.read_csv("Virtual_City.csv",index_col='country') 

lat_min = 29
lat_max = 62
lon_min = 103
lon_max = 136

ax = plt.figure(figsize=(8, 6)).gca()
basemap = Basemap(llcrnrlon=lon_min, urcrnrlon=lon_max, llcrnrlat=lat_min,urcrnrlat=lat_max,
                  projection='cyl',lon_0 = 120,lat_0 = 50,ax = ax)
basemap.readshapefile(shapefile = 'Virtual_Map1', name = "Country", drawbounds=True)

for info, shape in zip(basemap.Country_info, basemap.Country): 
        poly = Polygon(shape, facecolor='w', edgecolor='k')
        ax.add_patch(poly) 

basemap.drawparallels(np.arange(lat_min,lat_max,10), labels=[1,0,0,0],zorder=0) #画经度线
basemap.drawmeridians(np.arange(lon_min,lon_max,10), labels=[0,0,0,1],zorder=0) #画纬度线

#添加文本信息:城名
for lat,long,country in zip(df_city['lat'],df_city['long'],df_city['city']):
    ax.text(long,lat-2,country,fontsize=12,verticalalignment="center",horizontalalignment="center")

#添加气泡
Bubble_Scale=80
scatter = ax.scatter(df_city['long'], df_city['lat'], c=df_city['orange'], s=df_city['orange']*Bubble_Scale, 
                     linewidths=0.5, edgecolors="k",cmap='YlOrRd',zorder=2)
cbar = plt.colorbar(scatter) #添加图列:colobar
cbar.set_label('orange')
 #添加图列:气泡大小
kw = dict(prop="sizes", alpha=0.6, num=5, func=lambda s: s/Bubble_Scale)
ax.legend(*scatter.legend_elements(**kw), loc="upper right", title="orange")

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值