如何在 Matplotlib 中反转轴

Suraj Joshi 2024年2月16日
  1. invert_xaxis()invert_yaxis() 方法
  2. matplotlib.pyplot.axis() 方法
  3. pyplot 对象的 xlim()ylim() 方法
如何在 Matplotlib 中反转轴

我们可以分别使用轴对象的 invert_xaxis()invert_yaxis() 方法来反转 Matplotlib 中的 X 轴和 Y 轴。我们还可以对 pyplot 对象使用 axis()xlim()ylim() 方法来设置最小值和最大值,通过它们我们可以反转轴。

invert_xaxis()invert_yaxis() 方法

要反转 X 轴,我们使用 matplotlib.axes.Axes.invert_xaxis 并反转 Y 轴我们使用 matplotlib.axes.Axes.invert_yaxis。我们可以使用上述方法反转任一轴或两个轴。

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-3, 3, 100)
y = 3 * x + 4

fig, (ax1, ax2) = plt.subplots(1, 2)

ax1.plot(x, y)
ax1.set_title("Normal Plot")

ax2.plot(x, y)
ax2.set_title("Reverted axes")
ax2.invert_xaxis()
ax2.invert_yaxis()

fig.tight_layout()
plt.show()

输出:

使用反转轴方法反转轴

在输出中,左图是正常 x 和 y 轴的图,而右图的两个轴都反转了。

如果我们只想反转其中一个轴,则可以使用 invert_xaxis() 仅用于反转 X 轴,而可以使用 invert_yaxis() 仅用于反转 Y 轴。

matplotlib.pyplot.axis() 方法

matplotlib.pyplot.axis 用于设置 X 轴和 Y 轴的最小值和最大值。

设置 X 和 Y 轴的最小值和最大值的语法:

matplotlib.pyplot.axis([xmin, xmax, ymin, ymax])

如果我们在上述函数中互换 xmin 和 xmax 的位置,则 X 轴会反转。与反转 Y 轴类似,我们在上述函数中更改 ymin 和 ymax 的位置。

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-3, 3, 100)
y = 3 * x + 4

plt.plot(x, y)
plt.title("Reverted axes")
plt.axis([max(x), min(x), max(y), min(y)])

plt.show()

输出:

使用轴方法反转轴

函数 minmax 分别返回数组中的最小值和最大值。

pyplot 对象的 xlim()ylim() 方法

matplotlib.pyplot.xlim()matplotlib.pyplot.ylim() 可用于分别设置或获取 X 轴和 Y 轴的限制。如果在上述函数中将轴的最大值作为下限值,将轴的最小值作为上限值,则将得到一个反转轴。

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-3, 3, 100)
y = 3 * x + 4

plt.plot(x, y)
plt.title("Reverted axes")
plt.xlim(max(x), min(x))
plt.ylim(max(y), min(y))

plt.show()

输出:

使用限制方法反转 Matplotlib 轴

作者: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

相关文章 - Matplotlib Axes