python制作一線城市地鐵運行動態(tài)圖
作者:python數(shù)據(jù)分析之禪
前幾天寫了一篇制作公交線路圖的文章,有朋友問我能不能做一下地鐵的線路圖,其實道理差不多,今天再帶著大家做一下一線城市的地鐵線路圖。
前幾天寫了一篇制作公交線路圖的文章,有朋友問我能不能做一下地鐵的線路圖,其實道理差不多,今天再帶著大家做一下一線城市的地鐵線路圖
首先準備數(shù)據(jù),以北京市為例,在高德地圖地鐵頁面進行抓包,抓包地址為:
http://map.amap.com/subway/index.html?&1100

北京市地鐵信息接口為:
http://map.amap.com/service/subway?_1599997789354=&srhdata=1100_drw_beijing.json

對json數(shù)據(jù)進行解析,使其成為Bmap數(shù)據(jù)格式
- import requests
- import jsonurl='http://map.amap.com/service/subway?_1599997789354=&srhdata=1100_drw_beijing.json'
- response=requests.get(url)result=json.loads(response.text)stations=[]for i in result['l']:
- station=[] for j in i['st']:
- station.append([float(k) for k in j['sl'].split(',')])
- stations.append(station)
- print(stations)

1.北京地鐵線路圖
- from pyecharts.charts import BMap
- from pyecharts import options as opts
- from pyecharts.globals import BMapType, ChartType
- c=( BMap(init_opts=opts.InitOpts(width="1600px", height="800px"))
- .add_schema( baidu_ak="", #百度秘鑰ak
- center=[116.397128, 39.916527], #當前視角的中心點,用經(jīng)緯度表示
- zoom=14, #當前視角的縮放比例
- is_roam=True, #是否開啟鼠標縮放和平移漫游 ) .add( series_name="",
- type_=ChartType.LINES, data_pair=stations, is_polyline=True, #是否是多段線 is_large=True, #是否啟用大規(guī)模線圖的優(yōu)化,在數(shù)據(jù)圖形特別多的時候(>=5k)可以開啟
- linestyle_opts=opts.LineStyleOpts(color="purple", opacity=0.6, width=1),
- effect_opts=opts.EffectOpts(trail_length=0.5),
- ) .add_control_panel( copyright_control_opts=opts.BMapCopyrightTypeOpts(position=3),
- maptype_control_opts=opts.BMapTypeControlOpts( type_=BMapType.MAPTYPE_CONTROL_DROPDOWN ), scale_control_opts=opts.BMapScaleControlOpts(), overview_map_opts=opts.BMapOverviewMapControlOpts(is_open=True), navigation_control_opts=opts.BMapNavigationControlOpts(), geo_location_control_opts=opts.BMapGeoLocationControlOpts(), ))c.render_notebook()

2.上海地鐵線路圖

3.廣州地鐵線路圖

4.深圳地鐵線路圖

趕緊動手做一下你所在城市的地鐵線路圖吧!
責任編輯:未麗燕
來源:
今日頭條