pyecharts 画地图(热力图)(世界地图,省市地图,区县地图)

发布时间:2020-11-12 10:44:13编辑:admin阅读(153)

    一、概述

    在上一篇文章中,链接如下:https://www.cnblogs.com/xiao987334176/p/13791061.html

    已经介绍了pyecharts画一些基本图形,接下来介绍画地图

     

    二、世界地图

    from pyecharts import options as opts
    from pyecharts.charts import Map
    from pyecharts.faker import Faker
    import os
    
    # 基础数据
    value = [95.1, 23.2, 43.3, 66.4, 88.5]
    attr = ["China", "Canada", "Brazil", "Russia", "United States"]
    
    data = []
    for index in range(len(attr)):
        city_ionfo=[attr[index],value[index]]
        data.append(city_ionfo)
    
    c = (
        Map()
        .add("世界地图",data, "world")
        .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
        .set_global_opts(
            title_opts=opts.TitleOpts(title="世界地图示例"),
            visualmap_opts=opts.VisualMapOpts(max_=200),
    
        )
        .render()
    )
    
    # 打开html
    os.system("render.html")


    效果如下:

     1.png

     

    三、中国地图

    from pyecharts import options as opts
    from pyecharts.charts import Map
    from pyecharts.faker import Faker
    import os
    
    # 基础数据
    # 省和直辖市
    province_distribution = {'河南': 45.23, '北京': 37.56, '河北': 21, '辽宁': 12, '江西': 6, '上海': 20, '安徽': 10, '江苏': 16, '湖南': 9,
                             '浙江': 13, '海南': 2, '广东': 22, '湖北': 8, '黑龙江': 11, '澳门': 1, '陕西': 11, '四川': 7, '内蒙古': 3, '重庆': 3,
                             '云南': 6, '贵州': 2, '吉林': 3, '山西': 12, '山东': 11, '福建': 4, '青海': 1, '舵主科技,质量保证': 1, '天津': 1,
                             '其他': 1}
    
    provice = list(province_distribution.keys())
    values = list(province_distribution.values())
    
    c = (
        Map()
        .add("", [list(z) for z in zip(provice, values)], "china")
        .set_global_opts(title_opts=opts.TitleOpts(title="中国地图"))
        .render()
    )
    
    # 打开html
    os.system("render.html")


    效果如下:

    1.png

    四、省市地图

    from pyecharts import options as opts
    from pyecharts.charts import Map
    from pyecharts.faker import Faker
    import os
    
    # 基础数据
    city = ['贵阳市', '六盘水市', '遵义市', '安顺市', '毕节市', '铜仁市', '黔西南布依族苗族自治州', '黔东南苗族侗族自治州', '黔南布依族苗族自治州']
    
    values2 = [1.07, 3.85, 6.38, 8.21, 2.53, 4.37, 9.38, 4.29, 6.1]
    
    c = (
        Map()
        .add("贵州", [list(z) for z in zip(city, values2)], "贵州")
        .set_global_opts(
            title_opts=opts.TitleOpts(title="贵州地图"), visualmap_opts=opts.VisualMapOpts()
        )
        .render()
    )
    # 打开html
    os.system("render.html")


    效果如下:

    1.png

     

     

    五、区县地图

    from pyecharts import options as opts
    from pyecharts.charts import Map
    from pyecharts.faker import Faker
    import os
    
    # 基础数据
    quxian = ['观山湖区', '云岩区', '南明区', '花溪区', '乌当区', '白云区', '修文县', '息烽县', '开阳县', '清镇市']
    
    values3 = [3, 5, 7, 8, 2, 4, 7, 8, 2, 4]
    
    c = (
        Map()
        .add("贵阳", [list(z) for z in zip(quxian, values3)], "贵阳")
        .set_global_opts(
            title_opts=opts.TitleOpts(title="贵阳地图"), visualmap_opts=opts.VisualMapOpts()
        )
        .render()
    )
    # 打开html
    os.system("render.html")


    效果如下:

    1.png

     

     

     

    六、热力图

    from pyecharts import options as opts
    from pyecharts.charts import Geo
    from pyecharts.faker import Faker
    from pyecharts.globals import ChartType
    import os
    
    # 基础数据
    keys = ['上海', '北京', '合肥', '哈尔滨', '广州', '成都', '无锡', '杭州', '武汉', '深圳', '西安', '郑州', '重庆', '长沙', '贵阳', '乌鲁木齐']
    
    values = [4.07, 1.85, 4.38, 2.21, 3.53, 4.37, 1.38, 4.29, 4.1, 1.31, 3.92, 4.47, 2.40, 3.60, 1.2, 3.7]
    
    c = (
        Geo()
        .add_schema(maptype="china")
        .add(
            "空气质量热力图",
            [list(z) for z in zip(keys, values)],
            type_=ChartType.EFFECT_SCATTER,
        )
        .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
        .set_global_opts(title_opts=opts.TitleOpts(title="全国主要城市空气质量热力图"))
        .render()
    )
    
    # 打开html
    os.system("render.html")


    效果如下:

    1.png

     


关键字