Python实现带南海九段线分位数地图完整可视化版本(附代码及数据)

中国一点都不能少!

首先声明,数据示例中的中国行政区划的数据为简化版,仅能用于学习和练习,不能用于任何公开场合的出版、展示及其他应用。非法在公开场合使用,将会被追究法律责任。

先上一个最简单的实现方式,直接把南海诸岛和九段线给画上去——

 

这种方式实现最简单,只需要单纯的叠加一个线要素,就可以实现了,确定是地图留白的地方是在太多,严重的影响了整个地图的可视效果,一般来说,中国地图的制作方式是通过多图框组合的模式来实现,比如这样的:

 

把南海诸岛和九段线,独立放到一个附加的图框里面,展示出来,那么这种展示模式,在matplotlib里面是否也可以实现呢?答案是:

 

这种技术,在matplotlib里面称为画中画(plot in plot),主要通过设定子图的figure的位置来实现的,如下所示:

 

核心的代码就是这两句:

left,bottom,width,height = 0.05,0.05,0.95,0.95

ax1 = fig.add_axes([left,bottom,width,height])

设定你的子图的左、下位置和宽度、长度,注意在,这里的数值,都是百分比,比如0.05,指的是距图边界0.05个宽度的位置。

因为采用的是绝对定位,所以各种数值,就靠大家自己慢慢去调整了……这是一个很考验耐心和手感的问题,而且还很考验布局感和美感——可惜这些东西虾神都没有……

可以把所有的图都放到一个大图上,然后层层叠叠的来实现。当然,你也可以排列得更好一下,那就要看耐心的程度了。

 

下面放出代码:

 

 

 

最后,代码与数据的位置如下:

 

https://github.com/allenlu2008/PythonDemo

 

里面的014时序分析,欢迎大家下载。

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虾神说D

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值