0
点赞
收藏
分享

微信扫一扫

python 如何用 pyecharts 实现地图数据可视化?


自2013年6月百度EFE(ExcellentFrontEnd)数据可视化团队研发的ECharts1.0发布到GitHub网站以来,ECharts一直备受业界权威的关注并获得广泛好评,成为目前成熟且流行的数据可视化图表工具,被应用到诸多数据可视化的开发领域。

Python作为数据分析领域最受欢迎的语言,也加入了ECharts的使用行列,并研发出方便Python开发者使用的数据可视化工具,由此便诞生了pyecharts库。

pyecharts是一个针对Python用户开发的、用于生成ECharts图表的库,与matplotlib相比,pyecharts具有以下优势:

(1)简洁的API使开发者使用起来非常便捷,且支持链式调用。

(2)程序可在主流的JupyterNotebook或JupyterLab工具上运行。

(3)程序可以轻松地集成至Flask、Sanic、Django等主流的Web框架中。

(4)灵活的配置项可以轻松搭配出精美的图表。

(5)详细的文档和示例可以帮助开发者快速地上手。

(6)400多个地图文件、原生百度地图为地理数据可视化提供强有力的支撑。

在使用pyecharts进行开发之前,开发者需要先在本地计算机中安装pyecharts。pyecharts官方支持v0.5.x和v1两个版本,两个版本之间互不兼容。其中,v5.0是较早的版本,且已经停止维护;v1是一个全新的版本,它支持Python3.6以上的开发环境。截至目前,pyecharts的最新版本为1.9.1。

地理坐标系图

地理坐标系图适合表现和国家,省份,以及城市,经纬度位置相关联的数据分布规律。

pyecharts中Geo表达和城市关联的数据,Map表达和国家和省份关联的数据。

# 安装地图附属包
!pip install echarts-countries-pypkg
!pip install echarts-china-provinces-pypkg
!pip install echarts-china-cities-pypkg

# 全国城市地图示例
from pyecharts import Geo

data = [
    ("海门", 9),("鄂尔多斯", 12),("招远", 12),("舟山", 12),("齐齐哈尔", 14),("盐城", 15),
    ("惠州", 37),("江阴", 37),("蓬莱", 37),("韶关", 38),("嘉峪关", 38),("广州", 38),
    ("张家港", 52),("三门峡", 53),("锦州", 54),("南昌", 54),("柳州", 54),("三亚", 54),
    ("呼和浩特", 58),("成都", 58),("大同", 58),("镇江", 59),("桂林", 59),("张家界", 59),
    ("北京", 79),("徐州", 79),("衡水", 80),("包头", 80),("绵阳", 80),("乌鲁木齐", 84),
    ("菏泽", 194),("合肥", 229),("武汉", 273),("大庆", 279)]

geo = Geo(
    "全国部分城市空气质量",
    title_color="#fff",
    title_pos="center",
    width=800,
    height=600,
    background_color="#404a59",
)
attr, value = geo.cast(data)
geo.add(
    "",
    attr,
    value,
    visual_range=[0, 200],
    visual_text_color="#fff",
    symbol_size=15,
    is_visualmap=True,
)
geo

python 如何用 pyecharts 实现地图数据可视化?_Python

#  全国省份地图
from pyecharts import Map
value = [155, 10, 66, 78, 44, 38, 88, 50, 20]
attr = ["福建","山东","北京","上海","江西","新疆","内蒙古","云南","重庆"]
m = Map("全国省份地图", width=600, height=400)
m.add("", attr, value, maptype='china',
        is_visualmap=True, 
        is_piecewise=True,
        visual_text_color="#000",
        visual_range_text=["", ""],
        pieces=[
            {"max": 160, "min": 81, "label": "高"},
            {"max": 80, "min": 51, "label": "中"},
            {"max": 50, "min": 0, "label": "低"},
        ])
m

python 如何用 pyecharts 实现地图数据可视化?_Python_02

# 世界地图示例
from pyecharts import Map
countries= ["China", "Canada", "India", "Russia", "United States","Japan"]
capita_gdp = [13334, 43294, 5903, 23038, 53354,36162]
population = [1376048943, 35939927, 1311050527, 143456918, 321773631,126573481]
life_expectancy = [76.9,81.7,66.8,73.13,79.1,73.13]

m = Map("世界经济发展水平", width=800, height=500)
m.add(
    "人均GDP",
    attr = countries,
    value = capita_gdp,
    maptype="world",
    is_visualmap=True,
    visual_range = [5000,60000],
    visual_text_color="#000",
    is_map_symbol_show=False,
    visual_orient="horizontal"
)
m


举报

相关推荐

0 条评论