用python畫城市輪播地圖
這里是以其中5個(gè)省份的城市為例進(jìn)行演示
畫圖前準(zhǔn)備
在畫圖之前先導(dǎo)入相關(guān)的庫(kù)
from pyecharts.charts import Map, Timeline from pyecharts import options from pyecharts import options as opts
數(shù)據(jù)
# 1. 準(zhǔn)數(shù)據(jù) ### 山東省 sd_c = ['青島市','濟(jì)南市','濰坊市','臨沂市','煙臺(tái)市','聊城市','濟(jì)寧市','淄博市','菏澤市','德州市','泰安市','濱州市','威海市','東營(yíng)市','棗莊市','日照市'] sd_d = [1278,1163,834,704,673,632,622,587,586,570,434,401,303,289,216,201] ### 廣東省 gd_c = ['廣州市','東莞市','佛山市','汕頭市','惠州市','中山市','揭陽(yáng)市','珠海市','江門市','潮州市','湛江市','清遠(yuǎn)市','汕尾市','肇慶市','茂名市','梅州市','韶關(guān)市','河源市','陽(yáng)江市','云浮市'] gd_d = [1925,1235,936,788,548,464,420,356,354,311,274,246,237,220,205,157,127,118,108,82] ### 四川省 sc_c = ['綿陽(yáng)市','南充市','廣元市','德陽(yáng)市','宜賓市','達(dá)州市','瀘州市','廣安市','樂(lè)山市','遂寧市','眉山市','巴中市','涼山彝族自治州','內(nèi)江市','自貢市','資陽(yáng)市','雅安市','攀枝花市','阿壩藏族羌族自治州','甘孜藏族自治州'] sc_d = [944,741,639,555,493,463,359,351,340,337,300,282,239,214,190,174,157,141,123,104] ### 浙江省 zj_c = ['杭州市','溫州市','寧波市','金華市','嘉興市','臺(tái)州市','紹興市','湖州市','麗水市','衢州市','舟山市'] zj_d = [1183,792,765,582,438,381,360,288,197,103,66] ### 貴州省 gz_c = ['貴陽(yáng)市','遵義市','畢節(jié)市','黔南布依族苗族自治州','黔西南布依族苗族自治州','六盤水市','安順市','黔東南苗族侗族自治州','銅仁市'] gz_d = [1605,887,454,414,414,381,338,291,196]
這里以5個(gè)省份為例,統(tǒng)計(jì)5個(gè)省份的各市(不完全統(tǒng)計(jì))以及各市的火鍋店數(shù)量
繪圖
這里繪圖主要是用到pyecharts庫(kù)的Map類和Timeline這兩個(gè)類
其中Map是繪制城市地圖,Timeline是繪制輪播圖(整合城市圖)
先看一下官方案例
map1 = ( Map(init_opts=opts.InitOpts(width="700px",height="300px",theme="blue")) .add('', [(i,j) for i,j in zip(sd_c,sd_d)], '山東') .set_global_opts(visualmap_opts=opts.VisualMapOpts(max_=4000)) )
其init_opts=opts.InitOpts(width="700px",height="300px",theme="blue")這部分代碼是自定義的,不需要的可以去掉(這里只是修改了默認(rèn)從參數(shù))
add中:add('', [(i,j) for i,j in zip(sd_c,sd_d)], '山東'),其中sd_c是省份對(duì)應(yīng)的市,sd_d是每一個(gè)市對(duì)應(yīng)的火鍋店數(shù),后面的“山東”是省份,sd_c的市是和和山東對(duì)應(yīng)的
# 2. 繪制山東省地圖:格式一 map1 = ( Map(init_opts=opts.InitOpts(width="700px",height="300px",theme="blue")) .add('', [(i,j) for i,j in zip(sd_c,sd_d)], '山東') .set_global_opts(visualmap_opts=opts.VisualMapOpts(max_=4000)) ) # 3. 繪制廣東省地圖:格式二 map2 = ( Map() .add('', [(i,j) for i,j in zip(gd_c,gd_d)], '廣東') .set_global_opts(visualmap_opts=opts.VisualMapOpts(max_=400,is_piecewise=True)) ) # 4. 繪制四川省地圖:格式二 map3 = ( Map() .add('', [(i,j) for i,j in zip(sc_c,sc_d)], '四川') .set_global_opts(visualmap_opts=opts.VisualMapOpts(max_=400,is_piecewise=True)) ) # 5. 繪制浙江省地圖:格式二 map4 = ( Map() .add('', [(i,j) for i,j in zip(zj_c,zj_d)], '浙江') .set_global_opts(visualmap_opts=opts.VisualMapOpts(max_=400,is_piecewise=True)) ) # 6. 繪制貴州省地圖:格式二 map5 = ( Map() .add('', [(i,j) for i,j in zip(gz_c,gz_d)], '貴州') .set_global_opts(visualmap_opts=opts.VisualMapOpts(max_=400,is_piecewise=True)) )
繪制輪播圖
將上面的5個(gè)城市地圖(map1~map5)整合到一起,并且設(shè)置間隔為3秒進(jìn)行輪播
# 4. 創(chuàng)建組合類對(duì)象 timeline = Timeline(init_opts=opts.InitOpts(width='720px', height='350px')) # 5. 在組合對(duì)象中添加需要組合的圖表對(duì)象 timeline.add(chart=map1, time_point="山東省地圖") timeline.add(chart=map2, time_point="廣東省地圖") timeline.add(chart=map3, time_point="四川省地圖") timeline.add(chart=map4, time_point="浙江省地圖") timeline.add(chart=map5, time_point="貴州省地圖") ### 設(shè)置輪播時(shí)間 timeline.add_schema(is_auto_play=True, play_interval=3000)
最后保存成html
# 6. 渲染數(shù)據(jù) timeline.render("城市地圖輪播圖.html")
最終的效果
小結(jié)
以上就是城市輪播圖的全部講解,代碼量不多,完整源碼:
https://gitee.com/lyc96/carousel-map/tree/master
以上就是用python畫城市輪播地圖的詳細(xì)內(nèi)容,更多關(guān)于python 畫輪播地圖的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
簡(jiǎn)單說(shuō)明Python中的裝飾器的用法
這篇文章主要簡(jiǎn)單說(shuō)明了Python中的裝飾器的用法,裝飾器在Python的進(jìn)階學(xué)習(xí)中非常重要,示例代碼基于Python2.x,需要的朋友可以參考下2015-04-04Python基于gevent實(shí)現(xiàn)文件字符串查找器
這篇文章主要介紹了Python基于gevent實(shí)現(xiàn)文件字符串查找器,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08基于python OpenCV實(shí)現(xiàn)動(dòng)態(tài)人臉檢測(cè)
這篇文章主要為大家詳細(xì)介紹了基于python OpenCV實(shí)現(xiàn)動(dòng)態(tài)人臉檢測(cè),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05基于Keras的格式化輸出Loss實(shí)現(xiàn)方式
這篇文章主要介紹了基于Keras的格式化輸出Loss實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06Python使用lxml模塊和Requests模塊抓取HTML頁(yè)面的教程
用Pyhton自帶的urllib或urllib2模塊抓取網(wǎng)頁(yè)或許有些陳詞濫調(diào)了,今天我們就來(lái)玩兒些新鮮的,來(lái)看Python使用lxml模塊和Requests模塊抓取HTML頁(yè)面的教程:2016-05-05Python中等待5秒并暫停執(zhí)行的方法總結(jié)
Python 具有各種功能和庫(kù)來(lái)創(chuàng)建交互式應(yīng)用程序,用戶可以在其中提供輸入和響應(yīng), 我們可以創(chuàng)建需要暫停應(yīng)用程序執(zhí)行的情況,本文主要和大家分享三個(gè)Python 中等待 5 秒并暫停執(zhí)行的方法,有需要的可以參考下2023-10-10