python實(shí)現(xiàn)Pyecharts實(shí)現(xiàn)動(dòng)態(tài)地圖(Map、Geo)
一些經(jīng)常畫圖的開發(fā)人員大概都用過(guò)echart,不過(guò)小白用Python比較多,學(xué)習(xí)了python下的Pyecharts,發(fā)現(xiàn)這個(gè)包真的很強(qiáng)大。下面是小白對(duì)動(dòng)態(tài)地圖的實(shí)踐案例:
假如有這樣一組數(shù)據(jù),全國(guó)每個(gè)城市的酒店數(shù)(虛擬),那么如何在地圖上展示呢?
1.Python需要安裝Pycharts
當(dāng)安裝完成后需要添加地圖包:
安裝pyecharts后還需要根據(jù)需要安裝城市、省份等地圖包,下面是對(duì)包的整理,大家可以根據(jù)需要下載。
pip install pyecharts pip install echarts-countries-pypkg pip install echarts-china-provinces-pypkg pip install echarts-china-cities-pypkg pip install echarts-countries-pypkg pip install echarts-china-provinces-pypkg pip install echarts-china-cities-pypkg pip install echarts-china-counties-pypkg pip install echarts-china-misc-pypkg
2.安裝完成后,畫圖
from pyecharts import Bar from pyecharts import Map, Geo import pandas as pd #讀取數(shù)據(jù) inpath = 'D:/Users/traindatas/map_2.csv' #數(shù)據(jù)路徑 data = pd.read_csv(inpath , header = 'infer') #讀取數(shù)據(jù) #瀏覽數(shù)據(jù) data.head()
數(shù)據(jù)展示如下:這里是展示2019年1到九月每個(gè)月,城市酒店數(shù)的變化情況,每個(gè)月用1號(hào)代表當(dāng)月

由于每個(gè)城市包含9條數(shù)據(jù),因此,就需要用循環(huán)做出9張MAP地圖,來(lái)展示每個(gè)月每個(gè)城市的情況
#取出日期
IsDuplicated = data['effectdate']
list_of_month = list(IsDuplicated.drop_duplicates())
#循環(huán),做出每個(gè)月的分布圖
for month in list_of_month:
# 城市酒店數(shù)
df = data[data['effectdate'] == month]
indexs = list(df['cityname'])
values = list(df['masterhotelid'])
geo = Geo("全國(guó)酒店分布", str(month) + "全國(guó)酒店分布", title_color="#fff", title_pos="center", width=1200, height=600, background_color='#404a59')
# type="effectScatter", is_random=True, effect_scale=5 使點(diǎn)具有發(fā)散性
geo.add("全國(guó)酒店分布", indexs, values, type="effectScatter", is_random=True, effect_scale=5, visual_range=[0, 900],visual_text_color="#fff", symbol_size=15, is_visualmap=True, is_roam=False)
#geo.show_config()
filepath = 'D:/Users/pythonfeature/map/' +str(month) + '_month.html'
geo.render(path=filepath)
這樣就在指定的文件夾下生成了9張圖,我們隨意打開一張圖:在本地圖片中,圖中的點(diǎn)是動(dòng)態(tài)的,但是小白不知道html類型的圖片如何上傳,所以就上傳了一個(gè)下載的PNG圖片,大家可以自行嘗試之后觀看動(dòng)圖
下圖就是上面代碼生成的9張圖,文件類型是HTML類型

打開其中一張圖看下~

當(dāng)然Pyecharts中的圖形還是很豐富的,之后小白再分享一些其他的圖形
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
使用Python將EPUB電子書網(wǎng)文主角換成自己
通過(guò)Python對(duì)EPUB電子書格式進(jìn)行解壓、修改和重新打包,實(shí)現(xiàn)將網(wǎng)文主角名字替換成自己或其他指定名字的有趣嘗試,這一過(guò)程主要涉及zipfile和os庫(kù)的使用,以及對(duì)HTML或XHTML文件中字符串的查找與替換,感興趣的朋友一起看看吧2024-11-11
Python cookbook(數(shù)據(jù)結(jié)構(gòu)與算法)將多個(gè)映射合并為單個(gè)映射的方法
這篇文章主要介紹了Python cookbook(數(shù)據(jù)結(jié)構(gòu)與算法)將多個(gè)映射合并為單個(gè)映射的方法,結(jié)合實(shí)例形式分析了Python字典映射合并操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-04-04
聊聊python里如何用Borg pattern實(shí)現(xiàn)的單例模式
這篇文章主要介紹了聊聊python里如何用Borg pattern實(shí)現(xiàn)的單例模式,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-06-06
解決pandas報(bào)錯(cuò)'DataFrame' object has no
這篇文章主要介紹了解決pandas報(bào)錯(cuò)'DataFrame' object has no attribute 'as_matrix'問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08
Python自動(dòng)化測(cè)試框架pytest的詳解安裝與運(yùn)行
這篇文章主要為大家介紹了Python自動(dòng)化測(cè)試框架pytest的簡(jiǎn)介以及安裝與運(yùn)行,有需要的朋友可以借鑒參考下希望能夠有所幫助,祝大家多多進(jìn)步2021-10-10
Python實(shí)現(xiàn)自定義包的實(shí)例詳解
這篇文章主要介紹了實(shí)現(xiàn)自定義包的方法,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-12-12
用python寫一個(gè)帶有g(shù)ui界面的密碼生成器
這篇文章主要介紹了用python寫一個(gè)帶有g(shù)ui界面的密碼生成器,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-11-11

