matplotlib中的多图层叠加的问题
问题的引出
老板提出希望在之前绘制的降水分布图基础上,叠加上一下线路、变电站的分布。简单一想这个任务很简单,只需要知道线路,变电站经纬度,再叠加到图层即可。但是在实际操作却遇到一个小问题,即如何保证叠加的顺序,通过查阅
matplotlib
手册了解到一个set_zorder
这个属性,可以完美解决图层叠加问题,因此在这里记录以下。本博客首发在[个人网站www.sunsoda.fun])(www.sunsoda.fun)
我们先从下面这个例子讲起
import numpy as np
import pandas as pd
import matplotlib.lines as mlines
import matplotlib.patches as mpatches
import matplotlib as mpl
##################################################
# 解决中文字体显示问题
font = {
'family' : 'SimHei'
};
mpl.rc('font', **font);
##################################################
# 随机设置坐标值
%matplotlib inline
N = 3
x = np.random.rand(N)
y = np.random.rand(N)
##################################################
fig = plt.figure(figsize=[8,4])
ax = fig.add_subplot(121)
# 绘制circle
for xi,yi in zip(x,y):
circle = mpatches.Circle((xi,yi), 0.05, ec="blue",fc='blue')
ax.add_patch(circle)
# 绘制Line
line = mlines.Line2D(x,y,lw=3.,ls='-',alpha=1,col