绘制子图

时间:2014-02-17 06:28:04

标签: python matplotlib

我在现有的轴框架内有一个子图,在子图中有一些线或填充的contourf图。我想要做的是在现有的更大的框架中绘制一些线条,这些线条必须位于子图形中的线条/轮廓f的顶部。以下是一个小例子。基本上我希望蓝线和/或绿线位于红线之上。似乎设置zorder对属于不同子轴的线没有影响。

import matplotlib.pyplot as plt
fig = plt.figure()
plt.plot([0,2], color='blue', zorder=300)
ax0 = gca()
ax = fig.add_axes([0.3,0.3,0.3,0.3], zorder=0, axisbg='none')
ax.plot([0,1],[1,0], linewidth=40, color='red', zorder=-100)
ax0.plot([0.55,0.55],[0,2], linewidth=20, color='green', zorder=200)

1 个答案:

答案 0 :(得分:2)

我找到了一种解决方案,可能并不完美,但可以满足我的需求。诀窍是将大轴框架设置为高zorder,并将其背景颜色设置为透明,以便可以看到背景中的小轴框架,这样主框架中的线条自然会位于顶部小框架中的线条。

import matplotlib.pyplot as plt
fig = plt.figure()
plt.plot([0,2], color='blue')
ax0 = gca()
ax0.set_zorder(100)
ax0.set_axis_bgcolor('none')
ax = fig.add_axes([0.3,0.3,0.3,0.3], zorder=0, axisbg='none')
ax.plot([0,1],[1,0], linewidth=40, color='red')
ax0.plot([0.55,0.55],[0,2], linewidth=20, color='green')