matplotlib
LogLog Graphing
Zoeken…
Invoering
LogLog-grafieken zijn een mogelijkheid om een exponentiële functie op een lineaire manier te illustreren.
LogLog-grafieken
Laat y (x) = A * x ^ a, bijvoorbeeld A = 30 en a = 3.5. De natuurlijke logaritme (ln) van beide zijden nemen levert (met behulp van de gemeenschappelijke regels voor logaritmen): ln (y) = ln (A * x ^ a) = ln (A) + ln (x ^ a) = ln (A) + a * ln (x). Een grafiek met logaritmische assen voor zowel x als y zal dus een lineaire curve zijn. De helling van deze curve is de exponent a van y (x), terwijl de y-intercept y (0) de natuurlijke logaritme is van A, ln (A) = ln (30) = 3.401.
Het volgende voorbeeld illustreert de relatie tussen een exponentiële functie en de lineaire loglogplot (de functie is y = A * x ^ a met A = 30 en 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()
Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow