使用meshgrid时为什么我的y轴会反转?

时间:2017-02-06 22:27:45

标签: numpy matplotlib

我正在尝试运行以下内容:

import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
x = np.linspace(-15, 15, 10)
y = np.linspace(-15, 15, 10)
X, Y = np.meshgrid(x, y)
Z = Y;
# Z = X;
cmap = mpl.colors.ListedColormap(['r', 'b'])
bounds = [-300, 0, 300]
norm = mpl.colors.BoundaryNorm(bounds, cmap.N)
plt.figure();
plt.xlabel('x');
plt.ylabel('y');
im = plt.imshow(Z,cmap= cmap, norm = norm)
plt.show();

如果我尝试做Z = X,它可以正常工作。但如果我做Z = Y,则y轴反转,即顶部为红色(负),底部为蓝色(正)。为什么会这样?

1 个答案:

答案 0 :(得分:2)

与什么相比倒置?

正如预期的那样,你在两种情况下的情节都很好。在这种情况下,Z[0,0]的值在坐标-15处以红色绘制。

如果您希望y轴从底部开始而不是从顶部开始,请使用origin="lower" keyword argument0,0