---------------------------------------------------------------------------------------
-----(三)绘制地图:图形化显示海地地震危机数据
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)-绘制地图:图形化显示海地地震危机数据相关推荐

  1. 绘制地图:图形化显示海地地震危机数据

    再修改部分代码后,可执行代码如下: from mpl_toolkits.basemap import Basemap from pandas import DataFrame,Series impor ...

  2. Dataset:机器学习和深度学习中对数据集进行高级绘图(数据集可视化,箱线图等)的简介、应用之详细攻略——daidingdaiding

    Dataset:机器学习和深度学习中对数据集进行高级绘图(数据集可视化,箱线图等)的简介.应用之详细攻略--daidingdaiding 目录 箱线图 箱线图 箱线图(box plots):这些图显示 ...

  3. Python可视化:绘制折线图、设置线条形状和marker样式

    绘制折线图.设置线条形状和marker样式 Python可视化:绘制折线图.设置线条形状和marker样式 修改线形:线形可选集合 修改marker:marker可选集合 Python可视化:绘制折线 ...

  4. 数据可视化——如何绘制地图

    文章目录 前言 如何绘制地图 添加配置项 根据已有数据绘制地图 整体代码展示 前言 前面我们学习了如何利用提供的数据来对数据进行处理,然后以折线图的形式展现出来,那么今天我将为大家分享如何将提数据以地 ...

  5. Python可视化 | Matplotlib绘制圆环图的两种方法!

    人生苦短,快学Python!今天给大家介绍Python可视化之环形图的绘制. 环形图,也被称为圆环图.它在功能上与饼图相同,只是中间有一个空白,并且能够同时支持多个统计数据.与标准饼图相比,环形图提供 ...

  6. r语言中which的使用_R语言绘图 | 使用pheatmap快速绘制热图

    欢迎关注微信公众号"生信小王子"! 热图是我们展示数据时常用的图形,今天小编教大家使用"pheatmap" 快速绘制热图. 首先,我们需要准备输入文件.比如,我 ...

  7. python画矩阵图_Python可视化25_seaborn绘制矩阵图

    矩阵图即用一张图绘制多个变量之间的关系,数据挖掘中常用于初期数据探索: 本文介绍python中seaborn.pairplot(傻瓜版)和seaborn.PairGrid(更个性化版)绘制矩阵图 本文 ...

  8. Python数据可视化——matplotlib绘制的图里面不能正常显示中文,提示警告的解决方法

    运行下列代码: import matplotlib.pyplot as pltedu = [0.2515,0.3724,0.3336,0.0368,0.0057] labels = ['中专','大专 ...

  9. python绘图:利用matlibplot绘制雷达图

    之前在一些数据分析案例中看到用 Go 语言绘制的雷达图,非常的漂亮,就想着用matlibplot.pyplot也照着画一个,遗憾的是matlibplot.pyplot模块中没有直接绘制雷达图的函数,不 ...

最新文章

  1. 批量启用lync用户-3
  2. 实体框架高级应用之动态过滤 EntityFramework DynamicFilters
  3. linux select与多进程的结合
  4. 外观模式(Facade)
  5. mysql基础(二)—— 简单sql
  6. SQLServer2008 Transact_SQL语言基础实例
  7. C++实现connected component连通分量(附完整源码)
  8. 设计一个名为complex的类来表示复数_complex类java解决
  9. 信息学奥赛C++语言:趣味整数4(水仙花数)
  10. 2018 C语言大作业--21_Ekko制作教程
  11. 苹果mac强大的截图录像工具:Snagit
  12. LESSON 10.3 Halving网格搜索
  13. 软件开发标准(文档模板)
  14. 两阶段目标检测详解--FastRCNN
  15. python分割pdf文档
  16. 哪些原因会导致头晕头痛,日常应该如何去注意呢?
  17. 多链路5G组网方案-支持国密算法的5G安全组网方案
  18. cardboard下载_如何在Android上设置Google Cardboard
  19. 喝酒游戏,概率分布和卷积
  20. 网易云课堂web安全第一天

热门文章

  1. 员工人事档案组成要素介绍
  2. 众安保险联合阿里健康、慧医天下 探索互联网慢病管理新模式
  3. mysql 批量修改
  4. Unity热更新技术学习——AssetsBundle详解
  5. 自然对数e及e的x次方的计算(Calculation of natural exponent e and x power of e)
  6. 无源滤波器和有源滤波器的区别
  7. Android手机传感器的使用
  8. python笔记4:数据归一化(0,1),归至(-1,1)
  9. GUI programming with wxPython 之 XRC
  10. 使用 LSTM 对销售额预测(tf.keras)