軸線基本樣式設定
- 軸線用于劃分繪圖區域的邊界
- 軸對象位于頂部,底部,左側和右側
- 每個軸線可以通過指定顔色和寬度進行格式化
- 如果任何軸線邊緣的顔色設定為無,則可以使其不可見
fig, axes = plt.subplots(1, 2, figsize=(10,4))
x = np.arange(1,6)
# 原圖
axes[0].plot(x, np.exp(x))
axes[0].plot(x,x**2)
axes[0].set_title("The original image")
axes[0].set_xlabel("x axis")
axes[0].set_ylabel("y axis")
# 設定之後
axes[1].plot(x, np.exp(x))
axes[1].plot(x, x**2)
axes[1].set_title("After setting")
axes[1].set_xlabel("x axis")
axes[1].set_ylabel("y axis")
# 軸線設定
axes[1].spines['bottom'].set_color('blue')
axes[1].spines['left'].set_color('red')
axes[1].spines['left'].set_linewidth(2)
axes[1].spines['right'].set_color(None)
axes[1].spines['top'].set_color(None)
格式化軸線
需求:有時候一個或幾個點比大量資料大得多,在這種情況下,軸的比例需要設定為對數(log)而不是正常比例。
原理:這種對數标度在Matplotlib中可以通過将axes對象的xscale或yscale屬性設定為log,有時還需要在軸編号和軸标簽之間顯示一些額外的距離,任一軸(x或y或兩者)的labelpad屬性都可以設定為所需的值。
fig, axes = plt.subplots(1, 2, figsize=(10,4))
x = np.arange(1,6)
# 正常比例
axes[0].plot(x, np.exp(x))
axes[0].plot(x,x**2)
axes[0].set_title("Normal proportion")
axes[0].set_xlabel("x axis")
axes[0].set_ylabel("y axis")
# 對數刻度
axes[1].plot(x, np.exp(x))
axes[1].plot(x, x**2)
axes[1].set_title("Logarithmic scale(y)")
axes[1].set_xlabel("x axis")
axes[1].set_ylabel("y axis")
axes[1].set_yscale("log")
axes[1].xaxis.labelpad = 20
設定軸線限制
需求:将x軸上的限制格式化為(0到10)和y軸(0到10000)。
fig, axes = plt.subplots(1, 2, figsize=(10,4))
x = np.arange(1,11)
y = np.exp(x)
# 原圖
axes[0].plot(x, y)
axes[0].set_title('Index value')
# 設定之後
axes[1].plot(x, y)
axes[1].set_title('Index value')
axes[1].set_xlim(0,10)
axes[1].set_ylim(0,10000)
儲存圖檔
作用:将圖像顯示結果儲存到本地圖像檔案。
參數 | 說明 |
fname | 含有檔案路徑的字元串或Python的檔案型對象。 |
x = np.arange(0, math.pi*2, 0.05)
y = np.sin(x)
fig = plt.figure()
ax = fig.add_axes([0,0,1,1])
ax.plot(x, y)
ax.set_xticks([0,2,4,6])
ax.set_yticks([-1,0,1])
fig.savefig("sin.jpg")