Matplotlib格式化軸詳細(xì)操作教程
有時(shí)候一個(gè)或幾個(gè)點(diǎn)比大量數(shù)據(jù)大得多。在這種情況下,軸的比例需要設(shè)置為對(duì)數(shù)(log)而不是正常比例。這是對(duì)數(shù)標(biāo)度。在Matplotlib中,可以通過(guò)將axes對(duì)象的xscale或vscale屬性設(shè)置為log。
有時(shí)還需要在軸編號(hào)和軸標(biāo)簽之間顯示一些額外的距離。任一軸(x或y或兩者)的labelpad屬性都可以設(shè)置為所需的值。
在以下示例的幫助下演示了上述兩個(gè)功能。右邊的子圖具有對(duì)數(shù)刻度,左邊的一個(gè)子圖的x軸具有更遠(yuǎn)距離的標(biāo)簽。
參考以下示例代碼:
# Filename : example.py # Copyright : 2020 By Nhooo # Author by : www.soo66.com # Date : 2020-08-08 #! /usr/bin/env python #coding=utf-8 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ù)號(hào)顯示問(wèn)題) 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("對(duì)數(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()
執(zhí)行上面示例代碼,得到以下結(jié)果 -
軸尖端是連接軸刻度線的線,劃分繪圖區(qū)域的邊界。軸對(duì)象的尖端位于頂部,底部,左側(cè)和右側(cè)。每個(gè)尖端可以通過(guò)指定顏色和寬度進(jìn)行格式化。如果任何邊緣的顏色設(shè)置為無(wú),則可以使其不可見(jiàn)。
參考示例代碼:
# Filename : example.py # Copyright : 2020 By Nhooo # Author by : www.soo66.com # Date : 2020-08-08 #! /usr/bin/env python #coding=utf-8 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ù)號(hào)顯示問(wèn)題) 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()#