如何在 Matplotlib 中反轉軸
Suraj Joshi
2024年2月16日
Matplotlib
Matplotlib Axes
我們可以分別使用軸物件的 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()
輸出:

Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
作者: Suraj Joshi
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn