您的位置:首頁技術文章
文章詳情頁

python實現Pyecharts實現動態地圖(Map、Geo)

瀏覽:4日期:2022-08-01 11:22:41

一些經常畫圖的開發人員大概都用過echart,不過小白用Python比較多,學習了python下的Pyecharts,發現這個包真的很強大。下面是小白對動態地圖的實踐案例:

假如有這樣一組數據,全國每個城市的酒店數(虛擬),那么如何在地圖上展示呢?

1.Python需要安裝Pycharts

當安裝完成后需要添加地圖包:

安裝pyecharts后還需要根據需要安裝城市、省份等地圖包,下面是對包的整理,大家可以根據需要下載。

pip install pyechartspip install echarts-countries-pypkgpip install echarts-china-provinces-pypkgpip install echarts-china-cities-pypkgpip install echarts-countries-pypkgpip install echarts-china-provinces-pypkgpip install echarts-china-cities-pypkgpip install echarts-china-counties-pypkgpip install echarts-china-misc-pypkg

2.安裝完成后,畫圖

from pyecharts import Barfrom pyecharts import Map, Geoimport pandas as pd #讀取數據inpath = ’D:/Users/traindatas/map_2.csv’ #數據路徑data = pd.read_csv(inpath , header = ’infer’) #讀取數據 #瀏覽數據data.head()

數據展示如下:這里是展示2019年1到九月每個月,城市酒店數的變化情況,每個月用1號代表當月

python實現Pyecharts實現動態地圖(Map、Geo)

由于每個城市包含9條數據,因此,就需要用循環做出9張MAP地圖,來展示每個月每個城市的情況

#取出日期IsDuplicated = data[’effectdate’] list_of_month = list(IsDuplicated.drop_duplicates()) #循環,做出每個月的分布圖for month in list_of_month: # 城市酒店數 df = data[data[’effectdate’] == month] indexs = list(df[’cityname’]) values = list(df[’masterhotelid’]) geo = Geo('全國酒店分布', str(month) + '全國酒店分布', title_color='#fff', title_pos='center', width=1200, height=600, background_color=’#404a59’) # type='effectScatter', is_random=True, effect_scale=5 使點具有發散性 geo.add('全國酒店分布', 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張圖,我們隨意打開一張圖:在本地圖片中,圖中的點是動態的,但是小白不知道html類型的圖片如何上傳,所以就上傳了一個下載的PNG圖片,大家可以自行嘗試之后觀看動圖

下圖就是上面代碼生成的9張圖,文件類型是HTML類型

python實現Pyecharts實現動態地圖(Map、Geo)

打開其中一張圖看下~

python實現Pyecharts實現動態地圖(Map、Geo)

當然Pyecharts中的圖形還是很豐富的,之后小白再分享一些其他的圖形

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
国产综合久久一区二区三区