mapbox+Python实现基于地图交互的交通数据可视化

本文介绍了如何使用Mapbox和Plotly在Python中创建动态交通地图,通过json数据定义点线面,利用流量数据驱动颜色和大小,展示了张家港拥堵识别和交通小区图的制作过程,以及如何设置参数和配色方案。

!!!mapbox做可视化不要钱,不用科学上网,还挺好看

需要调用几个包:
json主要是从绘图的角度,给可视化的点线面确定位置坐标。对于区域来说,也是由json文件给出坐标点,然后定义这些点为边界,用线将点连接起来,形成区域。可以在mapbox中,手动打点,然后导出json文件,这样做的好处是,在数据量没有特别大的时候,所画即所见,不会出现坐标误差在可视化阶段还需要偏移和微调的情况。
plotly主要负责代码层面的效果渲染和交互,包括颜色、粗细、形状等多个参数可进行调整,实现最好的可视化效果。

import json
import plotly as py
import pandas as pd
import plotly.express as px
import plotly.graph_objects as go
pyplt = py.offline.plot

数据导入
格式如图
在这里插入图片描述

#point = pd.read_excel(r'zhangjiagang point data.xlsx')
point = pd.read_excel(r'zhangjiagang point data -xiaoshi zhanshi.xlsx')

下面就开始画图啦:

print(point.head())

token='pk.eyJ1Ijoic2hhbGx5ZWxsIiwiYSI6ImNsMzhjazB4cjAwOGQzaW11NnN5b20wOHcifQ.43PFHMZJZYaxPfY09jszA'

fig=px.scatter_mapbox(point,
                                 lon='经度',
                                 lat='纬度',
                                 size='流量',
                                  color='流量',
                                 hover_name='名称',
                                 hover_data=['数据来源'],
                                 size_max=25,
                                 #color_discrete_sequence=px.colors.colorbrewer.Set1
                                 #color_continuous_scale=px.colors.sequential.Viridis

                                #color_continuous_scale=px.colors.sequential.Rainbow
                                color_continuous_scale = px.colors.sequential.Reds

                                 )


fig.update_layout
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值