0
点赞
收藏
分享

微信扫一扫

《亲爱的 热爱的》惊现错误国家地图 一键解锁python绘制一份完美的中国地图

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


《亲爱的 热爱的》惊现错误国家地图  一键解锁python绘制一份完美的中国地图_生成图片


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


《亲爱的 热爱的》惊现错误国家地图  一键解锁python绘制一份完美的中国地图_python_02


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


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


《亲爱的 热爱的》惊现错误国家地图  一键解锁python绘制一份完美的中国地图_生成图片_03


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


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


《亲爱的 热爱的》惊现错误国家地图  一键解锁python绘制一份完美的中国地图_python_04


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


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


《亲爱的 热爱的》惊现错误国家地图  一键解锁python绘制一份完美的中国地图_环境变量_05


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


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 将以下代码写入:


《亲爱的 热爱的》惊现错误国家地图  一键解锁python绘制一份完美的中国地图_生成图片_06

运行


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")


生成的中国地图如下:

《亲爱的 热爱的》惊现错误国家地图  一键解锁python绘制一份完美的中国地图_环境变量_07


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


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


《亲爱的 热爱的》惊现错误国家地图  一键解锁python绘制一份完美的中国地图_环境变量_08


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


效果如下:


《亲爱的 热爱的》惊现错误国家地图  一键解锁python绘制一份完美的中国地图_环境变量_09


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


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在左下角搜索环境变量即可。


《亲爱的 热爱的》惊现错误国家地图  一键解锁python绘制一份完美的中国地图_python_10


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


《亲爱的 热爱的》惊现错误国家地图  一键解锁python绘制一份完美的中国地图_环境变量_11


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

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


《亲爱的 热爱的》惊现错误国家地图  一键解锁python绘制一份完美的中国地图_生成图片_12



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

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


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

from pyecharts.render import make_snapshotfrom snapshot_phantomjs import snapshot


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

# 生成图片make_snapshot(snapshot, c.render(), "map.png")


完整代码如下:


《亲爱的 热爱的》惊现错误国家地图  一键解锁python绘制一份完美的中国地图_python_13


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


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

pyecharts:https://pyecharts.org


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

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



《亲爱的 热爱的》惊现错误国家地图  一键解锁python绘制一份完美的中国地图_python_14



举报

相关推荐

0 条评论