Python+pyecharts实现动态轮播地图(以德州市为例)

我们可以在CSDN上可以看到各种各样的地图可视化方法,那么问题来了:如何采用Python实现动态的地图可视化呢,本文姑且使用pyecharts给大家提供一下思路。

首先, 我们需要先收集一些行政区相关的数据信息,以德州市市辖区为例。
在这里插入图片描述
随后我们可在Python中写入程序,程序如下:

from pyecharts import options as opts
from pyecharts.charts import Map, Timeline
from pyecharts.faker import Faker
import os
import pandas as pd

df=pd.read_excel('各行政区24小时数据1.xlsx')
quxian=df.columns[1:]
#print(quxian)
flow=[]
sj=list(df['时间'])
for i in range(len(sj)):
    flow.append([])
    for j in range(len(quxian)):
        flow[i].append(int(list(df[quxian[j]])[i])/200)
#print(flow)
timeline = Timeline(init_opts=opts.InitOpts(width='720px', height='350px'))

for m in range(len(sj)):
    map=(Map().add("德州", [list(z) for z in zip(quxian, flow[m])], "德州").set_global_opts(title_opts=opts.TitleOpts(title="德州地图"), visualmap_opts=opts.VisualMapOpts()))
    timeline.add(chart=map,time_point=sj[m])
    
timeline.add_schema(is_auto_play=True, play_interval=500) 

timeline.render()
            
os.system("render.html")

把程序分解开来说,就是首先导入数据。并按照和行政区划顺序生成二维列表

df=pd.read_excel('各行政区24小时数据1.xlsx')
quxian=df.columns[1:]
flow=[]
sj=list(df['时间'])
for i in range(len(sj)):
    flow.append([])
    for j in range(len(quxian)):
        flow[i].append(int(list(df[quxian[j]])[i])/200)

随后建立时间轴,并在不同的时间节点生成相应的地图

timeline = Timeline(init_opts=opts.InitOpts(width='720px', height='350px'))

for m in range(len(sj)):
    map=(Map().add("德州", [list(z) for z in zip(quxian, flow[m])], "德州").set_global_opts(title_opts=opts.TitleOpts(title="德州地图"), visualmap_opts=opts.VisualMapOpts()))
    timeline.add(chart=map,time_point=sj[m])

最后,设置播放方式,生成网页

timeline.add_schema(is_auto_play=True, play_interval=500) 
timeline.render()        
os.system("render.html")

这样,我们就搭建好了一个动态轮播地图
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值