echarts geo地图示例_亲爱的 热爱的惊现错误国家地图 一键解锁python绘制一份完美的中国地图...

昨日,突地被一大早的微博热搜 #自然资源部核查处理问题地图# 刷屏,恍惚中看到了近日在追的《亲爱的,热爱的》。小编还沉浸在酣甜的剧情里,今的又有新热搜了!!

8159235680f5a418750398310ad5d07a.png

作为一家资(jia)深(mao)剧粉,带着欣(ba)喜(gua)的心情浏览的热搜,嗯???好像哪里不对……

0479e0ff60e7b43a33eabebc605c8bb4.png

第39集中存在的“问题地图”引发广泛关注与讨论。

该剧中使用的地图存在错误表示阿克赛钦和我国藏南地区国界线、我国台湾和海南岛底色与大陆不一致、漏绘我国南海诸岛和南海断续线、克什米尔地区不符合国家有关规定等问题。

eb621c7d0717167008a890eb960d5333.png

不少网友表示,既然是公开播放的剧就该好好审核,制作方与审核方都应该在国家主权上谨慎且坚持一个完整国家的原则。

绝非小题大做!国家版图与国歌、国旗一样,是一个主权国家的重要标志,体现的事一个国家的完整政治主张,绝不仅是一张图画而已。错误的国家地图不仅损害了国家利益,更可怕的是它会向公众传播错误的知识,并弱化公众心中国家完整的这一认知。

dfc7ade8a996389868718e7ab3692814.png

经过一番倒腾,小编决定亲手为大家奉上一份使用python绘制的完美的中国地图。

下面是又一种我国地图绘制的正确方式!!

054f9c9ac321ee5dfa243c50eb43cd95.png

进行这个实验你需要的环境是:

python 3.6 以上

首先安装pyecharts, 默认安装是最新版本的,最新版本的pyecharts需要python3.6以上的版本,在安装好python并将pip加入到环境变量之后:

windows系统 打开cmd输入,macOS系统则打开terminal输入:

pip install pyecharts

出现 Successfully installed 后就表明 pyecharts 安装完毕。下面我们将教程分成三个部分:

  • 1. 利用echarts生成一个简单的中国地图

  • 2. 在中国地图上标记出 《亲爱的 热爱的》 剧中的地图所缺失的部分

  • 3. 将地图保存成图片

首先是第一步,我们可以试着使用 pyecharts 来绘制一个简单的中国地图:

在任意新建的一个文件夹下(注意路径不要有中文),创建 map.py 将以下代码写入:

44d70f028ef968dc449b1568370d5c80.png

运行

windows系统:打开cmd (macOS系统则是terminal),cd 进入当前文件夹,输入下面的指令

python map.py

运行完毕后,你会看见当前目录下有一个render.html生成,使用浏览器打开这个文件便能看见我们的地图啦,代码中有几个值得注意的地方,第一个是:

def geo_effectscatter() -> Geo:

与普通的函数声明不同,其后面带了一个函数注解(->Geo)表明该函数的返回值是Geo对象。

第二个是:

c = (

Geo()

.add_schema(maptype="china")

# 添加底部地图

)

这个是Python的链式调用,其效果等同于

c = Geo()

c.add_schema(maptype="china")

生成的中国地图如下:

66b914ae16c7410c8c03d70294a17b32.png

第二步, 在中国地图上标记出 《亲爱的 热爱的》 剧中的地图所缺失的部分

在当前目录下新建文件 map_mark.py, 输入以下内容:

6683d7ae6a963d9fcf1f3a76262ee532.png

运行同第一步一样,改个文件名即可,记得不要在路径中包含中文。运行完毕后会在当前目录下生成render.html,使用浏览器打开即可看见地图。

效果如下:

9710a626ef67fd2efe2c220385298740.png

第三步,将地图保存成图片

pyecharts 中生成图片有两种方法,一种是selenium方法,还有一种是用phantomjs. 本教程推荐使用 phantomjs.

首先,我们需要安装 snapshot-phantomjs. 同安装echarts一样,打开cmd (Windows) 或者terminal (macOS) 输入以下指令:

pip install snapshot-phantomjs

然后,我们需要前往phantomjs官网下载phantomjs:2.1.1版本下载链接

phantomjs的安装在这里以Windows为例进行讲解:

解压下载的压缩包后,得到phantomjs-2.1.1-windows,里面bin文件夹里的phantomjs.exe就是我们需要的程序,我们需要将其加入到环境变量中。

windows 10在左下角搜索环境变量即可。

b392e8b0a0fe8f099a48c8df1ef54d7b.png

windows7则需要如下图所示打开环境变量(windows10 也可以这样打开)

52eda136f4a83aa1ce4c30db6f2a8b80.png

向系统变量的path的后面,加入我们 phantomjs.exe 的路径,比如我的是加入:

C:\Users\Ckend\Downloads\phantomjs-2.1.1-windows\phantomjs-2.1.1-windows\bin

0d9283d2ed39eb2bee78100ad23d6efb.png

如果你是windows 7系统,记得用;与前一条path隔开。

;C:\Users\Ckend\Downloads\phantomjs-2.1.1-windows\phantomjs-2.1.1-windows\bin

接下来就可以生成图片了,在代码的首部引入我们刚刚的两个包

from pyecharts.render import make_snapshot

from snapshot_phantomjs import snapshot

最后我们调用生成图片的函数即可

# 生成图片

make_snapshot(snapshot, c.render(), "map.png")

完整代码如下:

7be3d081bfaf1955fead23de8c749d20.png

生成的中国地图可是高清大图,高达7M哦!

你要是愿意,甚至可以更改地图的颜色,标点的颜色,每个区域的颜色,甚至可以细化到省级、市级角度,详细请见官方文档:

pyecharts:https://pyecharts.org

如果你想看更多自定义的方法,请阅读:

echarts原始功能:https://echarts.baidu.com

我们的文章到此结束啦!如果你喜欢我们的文章,请持续关注Python实用宝典哦!请记住我们的官方网站:https://pythondict.com , 公众号:python实用宝典。

aeced65cb07b0708b26b4fa5bdeadb43.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值