暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

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

虾神说D 2019-10-18
1203

中国一点都不能少!


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


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

 

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

 


把南海诸岛和九段线,独立放到一个附加的图框里面,展示出来,那么这种展示模式,在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时序分析,欢迎大家下载。

 


文章转载自虾神说D,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论