得到经纬度数据使用Plotly画世界地图(美赛心得)
因为做到一个题是关于亚马逊的起火问题,需要使用经度维度和其他数据,于是需要针对纬度和经度做一个世界地图可视化,为大家提供一个思路吧
使用plotly的map模块https://plotly.com/python/maps/可以做许多类型的图,一般都是需要在地图上画点,可以使用px.scatter_mapbox函数,给出一个官方的例子
px.set_mapbox_access_token(open(".mapbox_token").read()) #为了得到读取token的权限
df = px.data.carshare()
fig = px.scatter_mapbox(df, lat="centroid_lat", lon="centroid_lon", color="peak_hour", size="car_hours",color_continuous_scale=px.colors.cyclical.IceFire, size_max=15, zoom=10)
fig.show()
其中的地图类型有许多种(参考:https://zhuanlan.zhihu.com/p/87163211)
使用style参数可以改变不同类型的地图
fig.update_layout(mapbox = {'style':'stamen-terrain'},showlegend =True)
basic类型
plotly对有经纬度的dataframe类型还是很好画的,如果需要画大致分布的地图,可以使用px.density_mapbox函数,下面是我根据2020年亚太赛画出的一个火灾图,大家可以参考一下,其实plotly官网的教程是很全面的,很多地图都可以看上面的教程画出来
import pandas as pd
import plotly.graph_objects as go
import plotly
import geopandas as gpd
import plotly.express as pxpd.set_option('display.max_columns', 1000)
pd.set_option('display.max_colwidth', 1000)
#draw the picture of fire
fire = pd.read_csv('fire_archive_M6_168910.csv') #如果
fire_test = pd.read_csv('fire_nrt_M6_168910.csv')
fire_test['type']=0
fire=pd.concat([fire,fire_test],axis=0)
fire['year'] = fire['acq_date'].apply(lambda x:x[0:7])
year_fire = fire.groupby(['longitude','latitude'])['type'].count()
print(year_fire.sort_values().value_counts()) #发生了火灾的地方还会不会发生 : 不会
fire= fire[fire['type']==0] #除去异常值
fire['month'] = fire['acq_date'].apply(lambda x:x[0:7])
fire['year'] = fire['acq_date'].apply(lambda x:x[0:4])
fire = fire[fire['year']=='2014'] #找到所有2020的值1
import plotly.express as px
fig=px.density_mapbox(lon=fire.longitude,lat=fire.latitude,z=fire.brightness*5,radius=fire.scan,zoom=1,center=dict(lat=-12.14, lon=-55.078),title='The visualization of Amazon') #使用date进行
fig.update_geos(lataxis_showgrid=True, lonaxis_showgrid=True)
fig.update_layout(mapbox_style="stamen-terrain")
fig.update_layout(margin={"r": 0, "t": 0, "l": 0, "b": 0})
fig.show()
fig.write_html('9_month_result_visual.html')
效果图:
得到经纬度数据使用Plotly画世界地图(美赛心得)相关推荐
- 一篇清华博士的美赛心得 | 参加世界最牛数学建模竞赛是一种怎样的体验?
本文是2017年美赛结束后,一位清华博士写的美赛心得,供同学们参考娱乐 编者按: 四天四夜的美国数学建模大赛刚刚于北京时间今晨9:00结束,这场参与者横跨全球几十所知名高校的赛事是世界范围内最具有影响 ...
- 各国数据网站大全(尤其适用美赛这种需要很多数据的)
参加美赛这种比赛,找到数据就成功了一半.比赛加上日常使用,积累了很多实用的数据网站(部分网站需自备梯子): 国家统计局 各国家统计局(很实用) 欧盟统计局(数据特别充足,美赛帮助很大)很详细,比如这个 ...
- 2021美赛建模ICM_Problem _D题音乐思路与代码
2021ICM D 题:音乐的影响 我们的目标是了解和衡量之前制作的音乐对新音乐和音乐艺术家的影响. 这里的之前制作的音乐是某艺术家之前制作的还是历史所有的音乐暂未表明,所以可能需要大家选择其中一个角 ...
- windows下python安装basemap,画世界地图以及根据经纬度标点
环境安装 1.确定自己的python环境安装完毕且已配置好环境变量 2.安装geos:pip install geos 3.直接使用pip3 install pyproj 可能会安装错误,所以需要自己 ...
- 如何用python画世界地图,并用不同的颜色展现每个国家的数据?
以下的图来自 iMeta 期刊文章,使用此代码,请引用文章: Yong-Xin Liu, Chun-Lin Shi, Tengfei Ma, Wubin Ding, Danyi Li, Tong Ch ...
- R语言ggplot画世界地图并根据条件给国家上色
期末结束,来分享一下 Exploration Data Analysis这门课我做的一个图. 语言依旧是 R, 用的Rstudio,这玩意儿真的拉闸,作为一个数据分析主要语言的软件,我数据量一大它就各 ...
- 下载地图包,并基于python的pyshp库读取.shp数据来获取中国省界的经纬度数据
目前画地图的软件都能很方便的调用省界数据,但是如果想要单独对省界做一些个性化设置,如设置宽度.样式.颜色什么的,就需要将省界数据单独拿出来进行设置了. 软件在画地图时,描述的边界都是一些列经纬度格点的 ...
- 用Python分析经纬度数据
不知道大家会在什么场合使用地图可视化,对我来说地图可视化的优点除了它可以展示海量的位置数据,更重要的是它可以很酷很炫,给人一种赏心悦目的舒适感.如下是J哥做的一个简单热力图: 热力地图 制作此类可视化 ...
- 利用百度地图api将excel中的经纬度数据可视化
利用百度地图api将excel中的经纬度数据可视化 因为本人最近在研究2019年研究生数学建模华为杯D题,想将它3个excel文件汽车的经纬度数据在地图上画出来,找了很多方法才实现.现将它分享给大家, ...
最新文章
- LeetCode 136. Single Number--异或--Java,C++,Python解法
- Django 基础教程
- 文件句柄(file handles) 文件描述符(file descriptors)
- l2tp连接尝试失败 因为安全层在初始化_线程安全互斥锁
- 北京市电影局:重要项目不停工、不流产、不降标
- 20171026_Python学习第二周四次课
- python类概念是什么_python中类的概念
- Unity实现鼠标点击指定位置导航角色
- arcsinx用计算机怎么按,数学arcsinx和arccosx怎么用公 – 手机爱问
- Matlab根据椭圆参数圆心,长轴,短轴,倾斜角画椭圆
- 实战技法 - 短线操盘 (8)
- 致我们终将逝去的高考
- spring(春天)
- 国内BLDC电机控制方案目前存在什么痛点?
- IOS王者荣耀修改荣耀战区最实用教程
- 数据库-Navicat连接SQLserver报错:未发现数据源名称并且未指定默认驱动程序
- 软件工程 常见术语 中英对照
- NOAA气象数据整理-各站点年月均降水量(2000-2022年)
- jsp+struct标签实现分页(只有jsp代码),内用到迭代标签、if标签、bean
- 丰田汽车音频总线AVC-LAN