實(shí)操案例!手把手教你畫城市輪播地圖(文末送書)

大家好,我是阿辰,今天教大家畫城市輪播地圖,個(gè)人覺得這類型的地圖可以在很多方面有實(shí)際應(yīng)用,所以就介紹給大家,并給出個(gè)實(shí)際操作案例!

本文數(shù)據(jù)來源于之前的【全國(guó)火鍋店數(shù)量分布】,不過不用擔(dān)心,文中會(huì)給出用到的數(shù)據(jù)

這里是以其中5個(gè)省份的城市為例進(jìn)行演示

image

1.畫圖前準(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á)州市','瀘州市','廣安市','樂山市','遂寧市','眉山市','巴中市','涼山彝族自治州','內(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ù)量

2.繪圖

這里繪圖主要是用到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")

最終的效果
image

3.小結(jié)

以上就是城市輪播圖的全部講解,代碼量不多,如果需要完整源碼的小伙伴可以在后臺(tái)回復(fù):輪播圖,領(lǐng)取本文完整源碼。

送書福利

接下來,準(zhǔn)備給粉絲送兩本書(本公眾號(hào)第一次送書),這兩本書分別是:《用Python寫網(wǎng)絡(luò)爬蟲》,《Python3爬蟲、數(shù)據(jù)清洗與可視化實(shí)戰(zhàn)》

image
image

「贈(zèng)書規(guī)則」

在公眾號(hào)「Python研究者」的本篇文章底部點(diǎn)擊「點(diǎn)贊」+「再看」,并在公眾號(hào)后臺(tái)回復(fù):送書,獲取抽獎(jiǎng)小程序后即可參與。

截止時(shí)間「2021年4月19日14:00」,最終獲贈(zèng)者請(qǐng)及時(shí)聯(lián)系阿辰并提供收貨信息將給你包郵送到家。

PS:中獎(jiǎng)后,截止后24小時(shí)內(nèi)未與阿辰聯(lián)系,視為自動(dòng)放棄。

推薦閱讀

手把手教你爬取PC端『某酷視頻』個(gè)人歷史播放數(shù)據(jù),并可視化展示

實(shí)戰(zhàn)|教你爬取全國(guó)火鍋店數(shù)量,并利用地圖可視化展示

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容