如何在 Matplotlib 中反转轴
Suraj Joshi
2024年2月16日
我们可以分别使用轴对象的 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()
输出:
函数 min
和 max
分别返回数组中的最小值和最大值。
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()
输出:
作者: Suraj Joshi
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn