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