如何在 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