中国一点都不能少!
首先声明,数据示例中的中国行政区划的数据为简化版,仅能用于学习和练习,不能用于任何公开场合的出版、展示及其他应用。非法在公开场合使用,将会被追究法律责任。
先上一个最简单的实现方式,直接把南海诸岛和九段线给画上去——
这种方式实现最简单,只需要单纯的叠加一个线要素,就可以实现了,确定是地图留白的地方是在太多,严重的影响了整个地图的可视效果,一般来说,中国地图的制作方式是通过多图框组合的模式来实现,比如这样的:
把南海诸岛和九段线,独立放到一个附加的图框里面,展示出来,那么这种展示模式,在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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。