2015-03-29-绘图和可视化(3)-绘制地图:图形化显示海地地震危机数据
---------------------------------------------------------------------------------------
-----(三)绘制地图:图形化显示海地地震危机数据
data=pd.read_csv(r'ch08\Haiti.csv')
data
时间戳和位置(经度和纬度)
data[['INCIDENT DATE','LATITUDE','LONGITUDE']][:10]
消息的类型
data['CATEGORY'][:6]
data.describe()
清理错误位置信息并移除缺失分类信息
data=data[(data.LATITUDE>18)&(data.LATITUDE<20)&(data.LONGITUDE>-75)&(data.LONGITUDE<-70)&data.CATEGORY.notnull()]
获取所有分类的列表
将各个分类信息拆分成编码和英文名称
def to_cat_list(catstr):
stripped=(x.strip() for x in catstr.split(','))
return [x for x in stripped if x]
def get_all_categories(cat_series):
cat_sets=(set(to_cat_list(x)) for x in cat_series)
return sorted(set.union(*cat_sets))
def get_english(cat):
code,names=cat.split('.')
if '|' in names:
names=names.split('|')[1]
return code,names.strip()
get_english('2.Urgences logistiques | Vital Lines')
all_cats=get_all_categories(data.CATEGORY)
#生成器表达式
english_mapping=dict(get_english(x) for x in all_cats)
def get_code(seq):
return [x.split('.')[0] for x in seq if x]
抽出唯一的分类编码,并构造一个全零DataFrame
all_codes=get_code(all_cats)
code_index=pd.Index(np.unique(all_codes))
dummy_frame=DataFrame(np.zeros((len(data),len(code_index))),index=data.index,columns=code_index)
dummy_frame.ix[:,:6]
for row,cat in zip(data.index,data.CATEGORY):
codes=get_code(to_cat_list(cat))
dummy_frame.ix[row,codes]=1
data=data.join(dummy_frame.add_prefix('category_'))
data.ix[:, 10:15]
绘制黑白海地地图
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
def basic_haiti_map(ax=None,lllat=17.25,urlat=20.25,lllon=-75,urlon=-71):
#创建极球面投影的Basemap实例
m=Basemap(ax=ax,projection='stere',
lon_0=(urlon+lllon)/2,
lat_0=(urlat+lllat)/2,
llcrnrlat=lllat,urcrnrlat=urlat,
llcrnrlon=lllon,urcrnrlon=urlon,
resolution='f')
#绘制海岸线、周界、国界以及地图边界
m.drawcoastlines()
m.dratstates()
m.drawcountries()
return m
fig,axes=plt.subplots(nrows=2,ncols=2,figsize=(12,10))
fig.subplots_adjust(hspace=0.05,wspace=0.05)
to_plot=['2a','1','3c','7a']
lllat=17.25;urlat=20.25;lllon=-75;urlon=-71
for code,ax in zip(to_plot,axes.flat):
m=basic_haiti_map(ax,lllat=lllat,urlat=urlat,lllon=lllon,urlon=urlon)
cat_data=data[data['category_%s' % code]==1]
#计算地图的投影坐标
x,y=m(cat_data.LONGITUDE,cat_data.LATITUDE)
m.plot(x,y,'k.',alpha=0.5)
ax.set_title('%s: %s'%(code,english_mapping[code]))
shapefile_path='ch08\PortAuPrince_Roads\PortAuPrice_Roads'
m.readshapefile(shapefile_path,roads)
2015-03-29-绘图和可视化(3)-绘制地图:图形化显示海地地震危机数据相关推荐
- 绘制地图:图形化显示海地地震危机数据
再修改部分代码后,可执行代码如下: from mpl_toolkits.basemap import Basemap from pandas import DataFrame,Series impor ...
- Dataset:机器学习和深度学习中对数据集进行高级绘图(数据集可视化,箱线图等)的简介、应用之详细攻略——daidingdaiding
Dataset:机器学习和深度学习中对数据集进行高级绘图(数据集可视化,箱线图等)的简介.应用之详细攻略--daidingdaiding 目录 箱线图 箱线图 箱线图(box plots):这些图显示 ...
- Python可视化:绘制折线图、设置线条形状和marker样式
绘制折线图.设置线条形状和marker样式 Python可视化:绘制折线图.设置线条形状和marker样式 修改线形:线形可选集合 修改marker:marker可选集合 Python可视化:绘制折线 ...
- 数据可视化——如何绘制地图
文章目录 前言 如何绘制地图 添加配置项 根据已有数据绘制地图 整体代码展示 前言 前面我们学习了如何利用提供的数据来对数据进行处理,然后以折线图的形式展现出来,那么今天我将为大家分享如何将提数据以地 ...
- Python可视化 | Matplotlib绘制圆环图的两种方法!
人生苦短,快学Python!今天给大家介绍Python可视化之环形图的绘制. 环形图,也被称为圆环图.它在功能上与饼图相同,只是中间有一个空白,并且能够同时支持多个统计数据.与标准饼图相比,环形图提供 ...
- r语言中which的使用_R语言绘图 | 使用pheatmap快速绘制热图
欢迎关注微信公众号"生信小王子"! 热图是我们展示数据时常用的图形,今天小编教大家使用"pheatmap" 快速绘制热图. 首先,我们需要准备输入文件.比如,我 ...
- python画矩阵图_Python可视化25_seaborn绘制矩阵图
矩阵图即用一张图绘制多个变量之间的关系,数据挖掘中常用于初期数据探索: 本文介绍python中seaborn.pairplot(傻瓜版)和seaborn.PairGrid(更个性化版)绘制矩阵图 本文 ...
- Python数据可视化——matplotlib绘制的图里面不能正常显示中文,提示警告的解决方法
运行下列代码: import matplotlib.pyplot as pltedu = [0.2515,0.3724,0.3336,0.0368,0.0057] labels = ['中专','大专 ...
- python绘图:利用matlibplot绘制雷达图
之前在一些数据分析案例中看到用 Go 语言绘制的雷达图,非常的漂亮,就想着用matlibplot.pyplot也照着画一个,遗憾的是matlibplot.pyplot模块中没有直接绘制雷达图的函数,不 ...
最新文章
- 批量启用lync用户-3
- 实体框架高级应用之动态过滤 EntityFramework DynamicFilters
- linux select与多进程的结合
- 外观模式(Facade)
- mysql基础(二)—— 简单sql
- SQLServer2008 Transact_SQL语言基础实例
- C++实现connected component连通分量(附完整源码)
- 设计一个名为complex的类来表示复数_complex类java解决
- 信息学奥赛C++语言:趣味整数4(水仙花数)
- 2018 C语言大作业--21_Ekko制作教程
- 苹果mac强大的截图录像工具:Snagit
- LESSON 10.3 Halving网格搜索
- 软件开发标准(文档模板)
- 两阶段目标检测详解--FastRCNN
- python分割pdf文档
- 哪些原因会导致头晕头痛,日常应该如何去注意呢?
- 多链路5G组网方案-支持国密算法的5G安全组网方案
- cardboard下载_如何在Android上设置Google Cardboard
- 喝酒游戏,概率分布和卷积
- 网易云课堂web安全第一天