Логарифмический график — это график, в котором используются логарифмические шкалы как по оси X, так и по оси Y.
Этот тип графика полезен для визуализации двух переменных, когда истинная связь между ними подчиняется некоторому степенному закону.
В этом руководстве объясняется, как создать логарифмический график в Python.
Как создать логарифмический график в Python
Предположим, у нас есть следующие Pandas DataFrame:
import pandas as pd
import matplotlib.pyplot as plt
#create DataFrame
df = pd.DataFrame({'x': [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
14, 15, 16, 17, 18, 19, 20, 21, 22],
'y': [3, 4, 5, 7, 9, 13, 15, 19, 23, 24, 29,
38, 40, 50, 56, 59, 70, 89, 104, 130]})
#create scatterplot
plt.scatter (df.x , df.y )
Очевидно, что связь между x и y подчиняется степенному закону.
В следующем коде показано, как использовать numpy.log() для выполнения логарифмического преобразования обеих переменных и создания логарифмического графика для визуализации взаимосвязи между ними:
import numpy as np
#perform log transformation on both x and y
xlog = np.log (df.x )
ylog = np.log (df.y )
#create log-log plot
plt.scatter (xlog, ylog)
По оси x отображается журнал x, а по оси y — журнал y.
Обратите внимание, что связь между log(x) и log(y) гораздо более линейна по сравнению с предыдущим графиком.
Не стесняйтесь добавлять заголовок и метки осей, чтобы упростить интерпретацию графика:
#create log-log plot with labels
plt.scatter (xlog, ylog, color='purple')
plt.xlabel('Log(x)')
plt.ylabel('Log(y)')
plt.title('Log-Log Plot')
Также обратите внимание, что вы можете создать линейный график вместо диаграммы рассеяния, просто используя plt.plot() следующим образом:
#create log-log line plot
plt.plot (xlog, ylog, color='purple')
plt.xlabel('Log(x)')
plt.ylabel('Log(y)')
plt.title('Log-Log Plot')
Дополнительные ресурсы
Как создать логарифмический график в R
Как создать логарифмический график в Excel