Matplotlib - 格式化軸
有時候一個或幾個點比大量數(shù)據(jù)大得多。在這種情況下,軸的比例需要設(shè)置為對數(shù)( log )而不是正常比例。這是對數(shù)標(biāo)度。在 Matplotlib 中,可以通過將 axes 對象的 xscale 或 vscale 屬性設(shè)置為 log 。
有時還需要在軸編號和軸標(biāo)簽之間顯示一些額外的距離。任一軸( x 或 y 或兩者)的 labelpad 屬性都可以設(shè)置為所需的值。
在以下示例的幫助下演示了上述兩個功能。右邊的子圖具有對數(shù)刻度,左邊的一個子圖的 x 軸具有更遠(yuǎn)距離的標(biāo)簽。
示例:
import matplotlib.pyplot as plt
import numpy as np
import math
# 顯示中文設(shè)置...
plt.rcParams['font.sans-serif'] = ['SimHei'] # 步驟一(替換sans-serif字體)
plt.rcParams['axes.unicode_minus'] = False # 步驟二(解決坐標(biāo)軸負(fù)數(shù)的負(fù)號顯示問題)原文出自
fig, axes = plt.subplots(1, 2, figsize=(10,4))
x = np.arange(1,5)
axes[0].plot( x, np.exp(x))
axes[0].plot(x,x**2)
axes[0].set_title("正常比例")
axes[1].plot (x, np.exp(x))
axes[1].plot(x, x**2)
axes[1].set_yscale("log")
axes[1].set_title("對數(shù)刻度(y)")
axes[0].set_xlabel("x 軸")
axes[0].set_ylabel("y 軸")
axes[0].xaxis.labelpad = 10
axes[1].set_xlabel("x 軸")
axes[1].set_ylabel("y 軸")
plt.show()
輸出如下:

image.png
軸尖端是連接軸刻度線的線,劃分繪圖區(qū)域的邊界。軸對象的尖端位于頂部,底部,左側(cè)和右側(cè)。
每個尖端可以通過指定顏色和寬度進(jìn)行格式化。如果任何邊緣的顏色設(shè)置為無,則可以使其不可見。
示例:
import matplotlib.pyplot as plt
import numpy as np
import math
# 顯示中文設(shè)置...
plt.rcParams['font.sans-serif'] = ['SimHei'] # 步驟一(替換sans-serif字體)
plt.rcParams['axes.unicode_minus'] = False # 步驟二(解決坐標(biāo)軸負(fù)數(shù)的負(fù)號顯示問題)原文出自
fig = plt.figure()
ax=plt.subplot(111)
ax.spines['bottom'].set_color('blue')
ax.spines['left'].set_color('red')
ax.spines['left'].set_linewidth(2)
ax.spines['right'].set_color(None)
ax.spines['top'].set_color(None)
ax.plot([1,2,3,4,5])
plt.show()
輸出如下:

image.png