在 Matplotlib 中設定 X 軸刻度值

Suraj Joshi 2020年11月24日
在 Matplotlib 中設定 X 軸刻度值

我們可以使用 matplotlib.pyplot.xticks() 方法來設定 X 軸的刻度值。

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5, 7]
y = [2, 1, 6, 4, 8, 5]

plt.plot(x, y, marker="o")
plt.xlabel("X-Axis")
plt.ylabel("Y-Axis")
plt.title("Figure with default X labels")
plt.show()

輸出:

帶有預設 X 標籤的圖

它為 X 軸和 Y 軸生成一個帶有預設標籤的圖形。預設情況下,X 軸和 Y 軸的標籤被分配為等距的值,範圍從各自軸的最小值到最大值。要改變 X 軸標籤的預設值,我們使用 matplotlib.pyplot.xticks() 方法。

使用 matplotlib.pyplot.xticks() 方法設定 X 軸刻度值

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5, 7]
y = [2, 1, 6, 4, 8, 5]

values = ["A", "B", "C", "D", "E", "F"]

plt.plot(x, y, marker="o")
plt.xlabel("X-Axis")
plt.ylabel("Y-Axis")
plt.title("Set X labels in Matplotlib Plot")
plt.xticks(x, values)
plt.show()

輸出:

在 Matplotlib Plot 中設定 X 軸刻度值

它將 X 軸標籤的刻度值設定為列表 values 中的值。values 中的每個元素都將作為 X 軸刻度,作為列表 x 中相應元素的刻度。

刻度的間距也將根據用於繪圖的元素間距來確定。

import matplotlib.pyplot as plt

x = [0.01, 0.1, 1, 10, 100]
y = [2, 1, 6, 4, 8]

values = ["A", "B", "C", "D", "E", "F"]

plt.plot(x, y, marker="o")
plt.xlabel("X-Axis")
plt.ylabel("Y-Axis")
plt.title("Set X labels in Matplotlib Plot")
plt.xticks(x, values)
plt.show()

輸出:

不等間距的 X 軸標籤

如果沿 X 軸繪製的數值不是等距的,那麼沿 X 軸的標籤也將是不等距的,我們可能得不到一個清晰的數字,如上圖輸出圖所示。

我們可以使用沿 X 軸等距的任意值列表來繪製資料,然後將實際值作為刻度分配到 X 軸上。

import matplotlib.pyplot as plt

x = [0.01, 0.1, 1, 10, 100]
y = [2, 1, 6, 4, 8]
values = range(len(x))

plt.plot(values, y, marker="o")
plt.xlabel("X-Axis")
plt.ylabel("Y-Axis")
plt.title("Set X labels in Matplotlib Plot")
plt.xticks(values, x)
plt.show()

輸出:

為不等距的 X 軸值設定標籤

它將等距放置的 X 軸標籤設定為 X 軸刻度值不相等的圖。

作者: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn

相關文章 - Matplotlib Axes