Как создать логарифмический график в Python


Логарифмический график — это график, в котором используются логарифмические шкалы как по оси 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