python 绘制地图

环境准备

1.1 安装必备绘画库

亲身体验,最新版的pyecharts使用不来,通过百度寻得的教学推荐版本 0.1.9.4 可以绘制完成世界地图,国家地图以及市级地图,但是不能绘制县区级的地图,故此实验之下选择 0.5.10 版本,可绘制县区级地图。

安装pyecharts
pip install pyecharts==0.5.10
安装国家、城市、县区的集成库
pip install echarts-countries-pypkg
pip install echarts-china-provinces-pypkg
pip install echarts-china-cities-pypkg
pip install echarts-china-counties-pypkg

1.2 绘制图形

from pyecharts import Map

1.2.1 绘制世界地图

attr与value是非必传数据,若是不传值,在地图中会是白色的色块,整个地图呈现的是轮廓,传值的情况下,被传值的国家或城市会被上色,更加鲜明的呈现出特征

# 地图数据
attr = ["China", "Canada", "Brazil", "Russia", "United States", 'Libya', 'Australia']
value = [40, 30, 50, 60, 70, 80, 90] map0 = Map("世界地图示例", width=1600, height=800)
map0.add("世界地图", attr, value, maptype="world", is_visualmap=True, visual_text_color='#000')
map0.render(path="./data/世界地图.html")

1.2.2 绘制中国地图

# 省和直辖市
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}
provice = list(province_distribution.keys())
values = list(province_distribution.values()) # maptype='china' 只显示全国直辖市和省级
# 数据只能是省名和直辖市的名称
map = Map("中国地图", '中国地图', width=1600, height=800)
map.add("", provice, values, visual_range=[0, 50], maptype='china', is_visualmap=True, visual_text_color='#000')
# map.show_config()
map.render(path="./data/中国地图.html")

1.2.3 绘制河南地图

# 城市 -- 指定省的城市 xx市
city = ['郑州市', '安阳市', '洛阳市', '濮阳市', '南阳市', '开封市', '商丘市', '信阳市', '新乡市', '许昌市', '三门峡市', '平顶山市']
values2 = [1.07, 3.85, 6.38, 8.21, 2.53, 4.37, 9.38, 4.29, 6.1, 7.21, 9.01, 8.28] # 数据是省内所属城市名
map2 = Map("河南地图", '河南', width=1600, height=800)
map2.add('河南', city, values2, visual_range=[1, 10], maptype='河南', is_visualmap=True, visual_text_color='#000')
# map2.show_config()
map2.render(path="./data/河南地图.html")

1.2.4 绘制信阳市地图

# 区县 -- 具体城市内的区县  xx县
quxian = ['潢川县', '息县', '浉河区', '平桥区', '光山县', '商城县', '罗山县']
values3 = [3, 5, 7, 8, 2, 4, 1] # 信阳地图 数据为信阳市下的区县
map3 = Map("信阳地图", '信阳', width=1600, height=800)
map3.add("信阳", quxian, values3, visual_range=[1, 10], maptype='信阳', is_visualmap=True, visual_text_color='#000')
map3.render(path="./data/信阳地图.html")

1.3 所用函数参数介绍

Map的第一个参数是 绘制地图的标题 ,第二个参数是 标题下的说明文字 ,width与height分别是绘制地图所在的区域范围的宽和高

map.add()第一个参数是 绘制地图的标识,当同一区域绘制了不同的地图,可以通过标识展示自己想要的地图 ;

第二个参数是 当前绘制目标的所属城市或县区名称集合,必须是列表形式 ; 第三个参数是 所属城市或县区对应的数值数据,同样必须是列表形式,且必须与第二个参数的长度相同 ; visual_range的参数可以不设置,不设置的情况下根据所传数据的值域进行自适应,同时绘制多个地图时,若所传参数不一致,取最大值 ;maptype是决定绘制的地图是什么,例如:世界地图是‘world’,中国地图是‘china’,河南地图是‘河南’等等 ;is_visualmap是显示上一参数的标识,为true才可以显示地图中的色块展示,为false不显示 ;visual_text_color是标识中的文字颜色。

map.render()传入参数path是绘制地图完成后写入的html文件,后续可以通过文件展示绘制的地图

pyecharts绘制地图的更多相关文章

  1. pyecharts绘制地图可视化

    pyecharts:官方文档 我们这里使用pyecharts模块进行绘图. pyecharts 项目包含了一系列的地理地图数据,这些数据或者已经内置,或者需要额外安装和加载,我们需要下载下面六个包. ...

  2. 使用ArcGIS API for Silverlight + Visifire绘制地图统计图

    原文:使用ArcGIS API for Silverlight + Visifire绘制地图统计图 最近把很久之前做的统计图又拿出来重新做了一遍,感觉很多时候不复习,不记录就真的忘了,时间是最好的稀释 ...

  3. 利用pyecharts做地图数据展示

    首先, pip install pyecharts 为了地图上的数据能显示完全,加载好需要的城市地理坐标数据. pip install echarts-countries-pypkg pip inst ...

  4. 使用EXCEL绘制三维地图(超简单的五分钟绘制地图方法,妈妈再也不用担心我不会画地图啦~)

    博主为从区域规划转行地图学的小学渣一枚,最近处理数据希望对结果进行三维可视化,意外发现从小用到大的EXCEL可以绘制地图且功能非常强大,在这里做一下简单介绍,希望可以给看官提供些许帮助.那下面就开始吧 ...

  5. 使用Adobe Illustrator + ArcGIS绘制地图 | Map Design Using ArcGIS + Adobe Illustrator

    国内GIS/Cartography同行大部分使用CorelDraw绘制地图.相比之下,国外同行则更多使用Adobe Illustrator绘制地图.CorelDraw和Illustrator两个软件均 ...

  6. SAS学习笔记14 利用SAS绘制地图(二)

    笔记9讲过利用SAS绘制地图,这次接着讲 用中国各地(不含港澳台)的平均湿度数据来绘制地图 在地图上标出地名 宏%maplabel有9个参数,依次为:地图文件名.包含区域名称的数据集文件.输出的注释数 ...

  7. twoway 系列命令绘制地图

    twoway 系列命令绘制地图 ❝ 在谈到用stata绘制地图时,很多人首先想到的是spmap命令.其实,最常见的twoway系列命令就可以完成我们的大多数绘图需求. 对于spmap命令的使用,在线资 ...

  8. Python pyecharts绘制柱状图

    本文摘抄至https://05x-docs.pyecharts.org/#/zh-cn/charts_base?id=bar%ef%bc%88%e6%9f%b1%e7%8a%b6%e5%9b%be%e ...

  9. Python pyecharts绘制饼图

    一.pyecharts绘制饼图语法简介 饼图主要用于表现不同类目的数据在总和中的占比.每个的弧度不是数据量的占比pie.add()方法的用法add(name, attr, value, radius= ...

随机推荐

  1. 怎么定义一个自己的vue组件

    1.在src文件夹中创建一个hello文件夹,然后创建hello.js和hello.vue 2.hello.vue代码如下 <template> <button>这是hello ...

  2. ubuntu文件权限

    以root身份登录linux. 在某一目录下执行 ls -al,显示类似如下内容: dr-xr-x---. 14 root root 4096 Aug 27 09:38 . dr-xr-xr-x. 2 ...

  3. Linux—cat

    cat:查看文件内容 cat -A: 显示文件中一些比较特殊的符号,如行尾的$ cat -n:  显示行号包括空白行 cat -b:  显示行号不包括空白行

  4. 01-使用pipenv管理项目环境

    一.使用pipenv管理项目环境 首先为什么我们不在真实环境下做开发呢?真实环境的一些包被其他服务所依赖,我们安装的包和模块都混杂在一起,这样不便于项目管理,还有可能出现意想不到的错误,于是就出现了包 ...

  5. 还不知道如何实践微服务的Java程序员,这遍文章千万不要错过!

    作者:古霜卡比 前言 本文将介绍微服务架构和相关的组件,介绍他们是什么以及为什么要使用微服务架构和这些组件.本文侧重于简明地表达微服务架构的全局图景,因此不会涉及具体如何使用组件等细节. 要理解微服务 ...

  6. eclipse 代码问题总结

    隐藏控件,在xml文件中写属性 android:visibility="gone"

  7. Golang 入门系列(十四)defer, panic和recover用法

    以前讲过golang 的基本语法.但是,只是讲了一些基础的语法,感兴趣的可以看看以前的文章,https://www.cnblogs.com/zhangweizhong/category/1275863 ...

  8. 2、MVC+IOC容器+ORM结合

    1.常规写法,难道我们每次都new一个服务,如下面的UserService和CompanyService然后调用服务的Find方法去操作,为什么我们不让UserService和CompanyServi ...

  9. php使用微信登录

    1.第一步 $hosturl = urlencode('');//异步回调地址 $wechatInfo = WechatInfo::get_wechat(); //查询appid $url = &qu ...

  10. 微信小程序APP生命周期

    小程序APP生命周期需要先从app.js这个文件开始,App() 必须在 app.js 中调用,必须调用且只能调用一次,app.js中定义了一些应用的生命周期函数 onLaunch----当小程序初始 ...