我使用两个y轴绘图,在matplotlib图的左侧和右侧,并使用zorder
来控制图的位置。我需要在同一图中跨轴定义zorder
。
问题
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(-10,10,0.01)
fig, ax1 = plt.subplots( 1, 1, figsize=(9,3) )
ax1.plot( x, np.sin(x), color='red', linewidth=10, zorder=1 )
ax2 = ax1.twinx()
ax2.plot( x, x, color='blue', linewidth=10, zorder=-1)
在上图中,我预计蓝线会在后面出现红色图。
使用双轴时如何控制zorder
?
我正在使用:
python:3.4.3 + numpy:1.11.0 + matplotlib:1.5.1
答案 0 :(得分:1)
这应该有效
ax1.set_zorder(ax2.get_zorder()+1)
ax1.patch.set_visible(False)
答案 1 :(得分:-1)
看起来这两个轴有独立的z-stacks。这些轴是z排序的,最近的轴位于顶部,因此您需要将所需的曲线移动到您创建的最后一个轴上:
{1000}