在 Python 2.7 中,使用 matplotlib.pyplot 或 matplotlib.axes.Axes 的 bar 函数添加多个条形图时,可以通过设置 `zorder` 参数来改变它们的绘制顺序。例如:
```python
import matplotlib.pyplot as plt
# 创建数据
x = [1, 2, 3]
y1 = [4, 5, 6]
y2 = [7, 8, 9]
# 绘制第一个图,zorder设为1(默认值),这样它就会在第二个图之上
plt.bar(x, y1, zorder=1)
# 绘制第二个图,zorder设为2,这样它就会在第一个图之下
plt.bar(x, y2, bottom=y1, zorder=2)
plt.show()
```
在这个例子中,我们首先绘制了 `y1` 的条形图,并设置了 `zorder=1`,这意味着它在后续的绘图操作中将位于前面。然后,我们使用 `bottom` 参数加上 `y1` 的值来绘制 `y2` 的条形图,并将 `zorder` 设置为 2,使其位于 `y1` 的后面。
另外,如果你是在使用 `matplotlib.axes.Axes` 对象而不是 `pyplot`,可以直接操作 `Axes` 对象:
```python
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
# 同样的逻辑,这里不需要 x 和 y 的定义了
y1 = [4, 5, 6]
y2 = [7, 8, 9]
ax.bar(x, y1, zorder=1)
ax.bar(x, y2, bottom=y1, zorder=2)
plt.show()
```