您好,登錄后才能下訂單哦!
這篇文章主要講解了“Python pyecharts怎么繪制的交通擁堵情況地圖”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Python pyecharts怎么繪制的交通擁堵情況地圖”吧!
某度智慧交通提供了各個城市的擁堵指數的數據,我們只需要通過幾行代碼便可輕松抓取:
# 獲取各城市的擁堵指數 url = 'https://jiaotong.baidu.com/trafficindex/city/list' # 接口api res = requests.get(url) data = res.json()
其中,url為獲取數據的接口地址,通過簡單的抓包分析便能知道。而data為返回后的數據,它包括很多字段,但是我們只需要提取其中的城市名和擁堵指數即可:
# 提取數據 citys = [i['cityname'] for i in data['data']['list']] # 提取城市 indexs = [float(i['index']) for i in data['data']['list']] # 提取對應的指數
有了數據,接下來我們就可以將其可視化展示出來。
利用可視化神器pyecharts庫繪制地圖,并將城市以及對應的擁堵指數表示出來。其安裝如下:
pip install pyecharts
部分版本需要再安裝額外的地圖庫,方法如下:
pip install echarts-countries-pypkg pip install echarts-cities-pypkg pip install echarts-china-provinces-pypkg pip install echarts-china-cities-pypkg
首先定義地圖:
geo = Geo() geo.add_schema(maptype = 'china') # 加入中國地圖
添加數據并進行相關設置:
geo.add('各城市擁堵指數', zip(citys,indexs), type_ = 'effectScatter') # 設置地圖類型及數據 geo.set_series_opts(label_opts = opts.LabelOpts(is_show = False)) #設置是否顯示標簽
根據擁堵指數的大小進行分類,分別為暢通、緩行、擁堵、嚴重擁堵:
geo.set_global_opts(visualmap_opts = opts.VisualMapOpts( #max_ = 2.5, # 用于連續表示 is_piecewise = True, # 是否分段 pieces = [{'min':1.0,'max':1.5,'label':'暢通','color':'#16CE95'}, {'min':1.5,'max':1.8,'label':'緩行','color':'#F79D06'}, {'min':1.8,'max':2.0,'label':'擁堵','color':'#D80304'}, {'min':2.0,'max':2.5,'label':'嚴重擁堵','color':'#8F0921'}])) # 設置圖例顯示
最后將地圖保存在本地:
geo.render(path='各城市擁堵指數.html')
到這里,我們就得到了文章一開始看到的那張圖~
然而,由于擁堵數據是實時變化的,如果我每次都要去運行一次代碼豈不是很麻煩?
很顯然,機智的社會主義青年是不會這么做的,您接著往下看。
為了更加方便地將各城市擁堵情況展示出來,我決定搭建一個用于展示的網站。
代碼中,get_geo()為獲取地圖的函數,返回了pyecharts繪制的地圖。在當前目錄下創建templates文件夾,并創建模塊文件geo.html,如下:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>各城市交通擁堵指數</title> </head> <body> { {mygeo|safe}} </body> </html>
感謝各位的閱讀,以上就是“Python pyecharts怎么繪制的交通擁堵情況地圖”的內容了,經過本文的學習后,相信大家對Python pyecharts怎么繪制的交通擁堵情況地圖這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。