LogLog 图形

y(x)= A * x ^ a,例如 A = 30 且 a = 3.5。取两边的自然对数(ln)得出(使用对数的通用规则):ln(y)= ln(A * x ^ a)= ln(A)+ ln(x ^ a)= ln(A) + a * ln(x)。因此,对于 x 和 y 都具有对数轴的图将是线性曲线。该曲线的斜率是 y(x) 的指数 a,而 y 轴截距 y(0) 是 A 的自然对数,ln(A)= ln(30)= 3.401。

以下示例说明了指数函数和线性 loglog 图之间的关系(函数是 y = A * x ^ a,A = 30 且 a = 3.5):

import numpy as np
import matplotlib.pyplot as plt
A = 30
a = 3.5
x = np.linspace(0.01, 5, 10000)
y = A * x**a

ax = plt.gca()
plt.plot(x, y, linewidth=2.5, color='navy', label=r'$f(x) = 30 \cdot x^{3.5}$')
plt.legend(loc='upper left')
plt.xlabel(r'x')
plt.ylabel(r'y')
ax.grid(True)
plt.title(r'Normal plot')
plt.show()
plt.clf()

xlog = np.log(x)
ylog = np.log(y)
ax = plt.gca()
plt.plot(xlog, ylog, linewidth=2.5, color='navy', label=r'$f(x) = 3.5\cdot x + \ln(30)$')
plt.legend(loc='best')
plt.xlabel(r'log(x)')
plt.ylabel(r'log(y)')
ax.grid(True)
plt.title(r'Log-Log plot')
plt.show()
plt.clf()

StackOverflow 文档 StackOverflow 文档