作圖-線性座標與對數座標
阿新 • • 發佈:2020-10-10
線性座標在顯示有較大區值範圍的\(x\)和\(y\)時(\(x\)和\(y\)的取值範圍有很大尺度的差異)不能很清楚地將兩者的對應關係表現出來。對於函式\(y=log_{10}x, x\in[1, 100000]\)線上性座標下如圖一所示。
import matplotlib.pyplot as plt import numpy as np x = np.arange(1, 100000) y = np.log10(x) plt.plot( x, y, color='k', lw=2) plt.title('Linear') plt.xlabel('x') plt.ylabel('log(x)')
圖一,對數函式線上性座標下的影象。
很顯然,對於\(x<1000\)對應的\(y\)是無法通過圖來很清楚地確定的。通過對\(x\)進行對數轉換則可以更加清楚地表示出\(x\)與\(y\)的關係。圖二即為上述公式在對數座標下的圖形。
import matplotlib.pyplot as plt import numpy as np x = np.arange(1, 100000) y = np.log10(x) plt.plot( x, y, color='k', lw=2) plt.title('x-log') plt.xlabel('x') plt.ylabel('log(x)') plt.xscale('log')
圖二,對數函式在對\(x\)軸進行對數轉換後的影象。
而當對\(x\)和\(y\)同時進行對數轉換之後,相應的圖形展示為圖三。因此通常只需要將範圍尺度較大的變數進行對數變換即可。
import matplotlib.pyplot as plt import numpy as np x = np.arange(1, 100000) y = np.log10(x) plt.plot( x, y, color='k', lw=2) plt.title('xy-log') plt.xlabel('x') plt.ylabel('log(x)') plt.xscale('log') plt.yscale('log')
圖三,對數函式在雙對數座標下的影象。
參考: