目錄
把一些地域性比較明顯的數據顯示在一張地圖上,遠比給別人一個 Excel 文件好得多。
Matplotlib 中也有畫地圖的函數,但是是靜態圖,因此這裏主要講 Pyecharts 模塊中的畫圖功能。
安裝Pyecharts
方法一:pip install ...
方法二:conda install -c anaconda pyecharts
方法三:下載模塊--安裝
- https://pypi.org/project/pyecharts/0.1.9.4/#files下載模塊;
- 將模塊放進 xx 路徑中,比如(C:\ProgramData\Anaconda3\Scripts);
- 打開cmd 進入 xx 路徑中,(cd C:\ProgramData\Anaconda3\Scripts);
- 安裝,pip install pyecharts-0.1.9.4-py2.py3-none-any.whl;
安裝對應的地圖拓展:
$ 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
$ pip install echarts-united-kingdom-pypkg
準備數據
數據大概是下表這樣的,一共110條數據。
Country | Province | City | Score | Province_1 | mean_score |
China | 上海 | 上海 | 98 | 安徽 | 45 |
China | 北京 | 北京 | 96 | 北京 | 96 |
China | 廣西 | 崇左 | 15 | 福建 | 63 |
China | 內蒙古 | 興安盟 | 94 | 甘肅 | 23 |
使用 pyecharts 模塊中的 Geo 函數:
Geo 地理座標系組件用於地圖的繪製,支持在地理座標系上繪製散點圖,線集。
geo.add(name, attr, value, type="scatter", maptype='china', coordinate_region='中國', symbol_size=12, border_color="#111", geo_normal_color="#323c48", geo_emphasis_color="#2a333d", geo_cities_coords=None, is_roam=True, **kwargs)
常用參數說明:
參數 | 接收值 | 說明 |
name | str | 圖例名稱 |
attr | list | 屬性名稱 |
value | list | 屬性所對應的值 |
type | str | 圖例類型,有'scatter','effectScatter','heatmap'可選。默認爲'scatter' |
maptype | str | 地圖類型 |
coordinate_region | str | 城市座標所屬國家 |
symbol_size | int | 標記圖形大小。默認爲12 |
border_color | str | 地圖邊界顏色。默認爲'#111' |
geo_normal_color | str | 正常狀態下地圖區域的顏色。默認爲'#323c48' |
geo_emphasis_color | str | 高亮狀態下地圖區域的顏色。默認爲'#2a333d' |
geo_cities_coords | dict | 用戶自定義地區經緯度,類似如{'阿城':[126.58,45.32],}這樣的字典。 |
is_roam | bool | 是否開啓鼠標縮放和平移漫遊。'scale'縮放、'move'平移、'True'都開啓;默認爲True。 |
Geo 函數的使用:
import pandas as pd
from pyecharts import Geo
#讀取數據
datafile = u'D:\\pythondata\\travel\\travel_data.xlsx'
data = pd.read_excel(datafile)
attr = data['City']
value = data['Score']
geo = Geo("♡♡♡ 往後餘生,踏遍山河 ♡♡♡", title_color="#2E2E2E",
title_text_size=24,title_top=20,title_pos="center", width=1300,height=600,
background_color='#F6CEF5')
geo.add("", attr, value, type="effectScatter", is_random=True, visual_range=[0, 100],
maptype='china',visual_text_color="#FF0000", geo_normal_color="#6E6E6E",geo_emphasis_color='#F5D0A9',
symbol_size=8, effect_scale=5, is_visualmap=True)
geo.render(path=u'D:\\pythondata\\travel\\往後餘生.html')#生成html文件
沒有報錯就是運行成功了,去 path 路徑中,雙擊在默認瀏覽器中打開 html 文件,:
使用 pyecharts 模塊中的 map 函數:
map 函數 地圖主要用於地理區域數據的可視化。
map.add(name, attr, value, maptype='china', is_roam=True, is_map_symbol_show=True, **kwargs)
map 函數的使用:
import pandas as pd
from pyecharts import Map
datafile = u'D:\\pythondata\\travel\\travel_data.xlsx'
data = pd.read_excel(datafile)
attr = data['Province_1']
value = data['mean_score']
map = Map("♡♡♡ 往後餘生,踏遍山河", title_color="#2E2E2E",
title_text_size=24,title_top=20,title_pos="center", width=1300,height=600,
background_color='#F6CEF5')
map.add("", attr, value, type="effectScatter", is_random=True, visual_range=[0, 100],
maptype='china', geo_emphasis_color='#F5D0A9',visual_text_color="#6E6E6E",
is_visualmap=True, is_map_symbol_show=False)
map.render(path=u'D:\\pythondata\\travel\\往後餘生_map.html')
沒有報錯就是運行成功了,去 path 路徑中,雙擊在默認瀏覽器中打開 html 文件,:
Pyecharts 說明:http://pyecharts.org/#/zh-cn/charts_base?id=map%EF%BC%88%E5%9C%B0%E5%9B%BE%EF%BC%89