`Matplotlib`的**坐標軸**是用於在繪圖中表示數據的位置的工具。 坐標軸是圖像中的水平和垂直線,它們通常表示為 x 軸和 y 軸。坐標軸的作用是幫助觀察者瞭解圖像中數據的位置和大小,通常標有數字或標簽,以指示特定的值在圖像中的位置。 # 1. 坐標軸範圍 `Matplotlib`繪製圖形 ...
Matplotlib
的坐標軸是用於在繪圖中表示數據的位置的工具。
坐標軸是圖像中的水平和垂直線,它們通常表示為 x 軸和 y 軸。
坐標軸的作用是幫助觀察者瞭解圖像中數據的位置和大小,通常標有數字或標簽,以指示特定的值在圖像中的位置。
1. 坐標軸範圍
Matplotlib
繪製圖形時,會自動根據X,Y軸的數值,自動確定其範圍,確保能夠涵蓋所有的數值。
比如:
_, ax = plt.subplots(2, 1)
#X軸範圍0~8,Y軸範圍1~100
x = np.array(range(0, 8))
y = np.random.randint(1, 100, 8)
ax[0].plot(x, y)
#X軸範圍10~18,Y軸範圍100~200
x = np.array(range(10, 18))
y = np.random.randint(100, 200, 8)
ax[1].plot(x, y)
可以看出,圖形中X軸,Y軸的範圍是根據 x, y
列表中數值的最大最小值來生成的。
有時候,為了看圖的局部位置,可以主動設置X軸,Y軸的範圍,而不是依靠自動生成。
比如:
_, ax = plt.subplots(2, 1)
x = np.array(range(0, 8))
y = np.random.randint(1, 100, 8)
ax[0].set_xlim(3, 6) #X軸範圍3~6
ax[0].plot(x, y)
x = np.array(range(10, 18))
y = np.random.randint(100, 200, 8)
ax[1].set_ylim(120, 150) #Y軸範圍120~150
ax[1].plot(x, y)
上面的示例設置的第一個圖的X軸範圍,第二個圖的Y軸範圍。
2. 雙坐標軸
如果要把Y軸不同範圍的兩個曲線放在一起比較趨勢的話,就要用到雙坐標軸。
比如:
fig = plt.figure()
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])
x = np.array(range(0, 8))
y1 = np.random.randint(1, 100, 8)
ax.plot(x, y1, c='r')
y2 = np.random.randint(100, 200, 8)
ax.plot(x, y2, c='g')
上圖中紅色的線範圍在1~100
之間,綠色的線範圍在100~200
之間。
雖然放在一個圖中比較,看著卻像是在兩個子圖。
這時,我們可以用兩個不同範圍的Y軸,從而能夠讓兩條曲線更好的比較。
比如:
fig = plt.figure()
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])
ax_twinx = ax.twinx()
x = np.array(range(0, 8))
y1 = np.random.randint(1, 100, 8)
ax.plot(x, y1, c='r')
y2 = np.random.randint(100, 200, 8)
ax_twinx.plot(x, y2, c='g')
左邊是紅線對應的Y軸,右邊是綠線對應的Y軸。
3. 反坐標軸
最後,關於坐標軸的設置,還有一個比較常用的設置是反轉坐標軸。
坐標軸的預設順序是從小到大的,但是,對於一些特殊的圖表類型(如散點圖、條形圖、直方圖等),可以通過反轉坐標軸來更好地展示數據點的分佈情況。
3.1. 反轉X軸
fig = plt.figure()
x = np.array(range(0, 8))
y = np.random.randint(1, 100, 8)
ax1 = fig.add_subplot(211)
ax1.plot(x, y)
#反轉X軸
ax2 = fig.add_subplot(212)
ax2.invert_xaxis()
ax2.plot(x, y)
上例兩個子圖的X軸順序是相反的。
3.2. 反轉Y軸
fig = plt.figure()
x = np.array(range(0, 8))
y = np.random.randint(1, 100, 8)
ax1 = fig.add_subplot(211)
ax1.plot(x, y)
#反轉Y軸
ax2 = fig.add_subplot(212)
ax2.invert_yaxis()
ax2.plot(x, y)
上例兩個子圖的Y軸順序是相反的。
4. 總結回顧
這裡介紹的主要是坐標軸在展示分析結果的不同場景中的常用設置方法,
其他關於坐標軸字體,顏色等等可以查閱官方文檔。