Часто вам может понадобиться создать графики Matplotlib с логарифмическими шкалами для одной или нескольких осей. К счастью, Matplotlib предлагает для этого следующие три функции:
- Matplotlib.pyplot.semilogx() — построить график с логарифмическим масштабированием по оси X.
- Matplotlib.pyplot.semilogy () — построить график с логарифмическим масштабированием по оси Y.
- Matplotlib.pyplot.loglog() — построить график с логарифмическим масштабированием по обеим осям.
В этом руководстве объясняется, как использовать каждую из этих функций на практике.
Пример 1: Логарифмическая шкала для оси X
Предположим, мы создаем линейную диаграмму для следующих данных:
import matplotlib.pyplot as plt
#create data
x = [1, 8, 190, 1400, 6500]
y = [1, 2, 3, 4, 5]
#create line chart of data
plt.plot (x,y)

Мы можем использовать функцию .semilogx() для преобразования оси x в логарифмическую шкалу:
plt.semilogx ()

Обратите внимание, что ось Y точно такая же, но ось X теперь имеет логарифмическую шкалу.
Пример 2: Логарифмическая шкала для оси Y
Предположим, мы создаем линейную диаграмму для следующих данных:
import matplotlib.pyplot as plt
#create data
x = [1, 2, 3, 4, 5]
y = [1, 8, 190, 1400, 6500]
#create line chart of data
plt.plot (x,y)

Мы можем использовать функцию .semilogy() для преобразования оси Y в логарифмическую шкалу:
plt.semilogy ()

Обратите внимание, что ось X точно такая же, но ось Y теперь имеет логарифмическую шкалу.
Пример 3: Логарифмическая шкала для обеих осей
Предположим, мы создаем линейную диаграмму для следующих данных:
import matplotlib.pyplot as plt
#create data
x = [10, 200, 3000, 40000, 500000]
y = [30, 400, 5000, 60000, 750000]
#create line chart of data
plt.plot (x,y)

Мы можем использовать функцию .loglog() для преобразования оси Y в логарифмическую шкалу:
plt.loglog (x, y)

Обратите внимание, что обе оси теперь имеют логарифмическую шкалу.
Дополнительные ресурсы
Как изменить размер шрифта на графике Matplotlib
Как удалить тики из графиков Matplotlib