Настройка масштаба осей в Matplotlib для логарифмического представления

В Matplotlib можно легко настраивать масштаб осей для логарифмического представления, что полезно для визуализации данных с большими диапазонами значений или экспоненциальным ростом. Использование логарифмического масштаба помогает лучше визуализировать и анализировать данные, которые варьируются на несколько порядков.

Основные шаги для настройки логарифмического масштаба осей

  1. Импорт необходимых библиотек

  2. Создание данных

  3. Построение графика с логарифмическими осями

Пример 1: Простой логарифмический масштаб

Этот пример демонстрирует, как применить логарифмический масштаб к оси y.

import matplotlib.pyplot as plt
import numpy as np

# Данные
x = np.linspace(0.1, 10, 100)  # x от 0.1 до 10
y = np.exp(x)  # y = e^x

# Построение графика
plt.plot(x, y)
plt.yscale('log')  # Установка логарифмического масштаба для оси y

# Настройка заголовков и осей
plt.title("Logarithmic Scale on Y-axis")
plt.xlabel("X-axis")
plt.ylabel("Y-axis (log scale)")

plt.show()

Результат: График с логарифмическим масштабом для оси y, что позволяет лучше визуализировать данные, изменяющиеся экспоненциально.

Пример 2: Логарифмический масштаб на обеих осях

Вы можете применить логарифмический масштаб как к оси x, так и к оси y.

import matplotlib.pyplot as plt
import numpy as np

# Данные
x = np.logspace(0.1, 2, 100)  # x в логарифмической шкале
y = x**2  # y = x^2

# Построение графика
plt.plot(x, y)
plt.xscale('log')  # Установка логарифмического масштаба для оси x
plt.yscale('log')  # Установка логарифмического масштаба для оси y

# Настройка заголовков и осей
plt.title("Logarithmic Scale on Both Axes")
plt.xlabel("X-axis (log scale)")
plt.ylabel("Y-axis (log scale)")

plt.show()

Результат: График с логарифмическим масштабом для обеих осей, полезен для данных, изменяющихся на несколько порядков.

Пример 3: Настройка базы логарифма

По умолчанию Matplotlib использует основание 10 для логарифмических масштабов. Вы можете изменить это значение, если необходимо.

import matplotlib.pyplot as plt
import numpy as np

# Данные
x = np.linspace(0.1, 10, 100)
y = np.exp(x)

# Построение графика
plt.plot(x, y)
plt.yscale('log', base=2)  # Установка логарифмического масштаба с основанием 2 для оси y

# Настройка заголовков и осей
plt.title("Logarithmic Scale with Base 2 on Y-axis")
plt.xlabel("X-axis")
plt.ylabel("Y-axis (log scale base 2)")

plt.show()

Результат: График с логарифмическим масштабом для оси y, основанном на 2, что изменяет шкалу логарифмического отображения.

Пример 4: Логарифмический масштаб с пользовательскими метками

Вы можете настроить метки на логарифмических осях, чтобы сделать график более читаемым.

import matplotlib.pyplot as plt
import numpy as np

# Данные
x = np.logspace(0, 2, 100)
y = np.sqrt(x)

# Построение графика
plt.plot(x, y)
plt.xscale('log')
plt.yscale('log')

# Настройка меток на осях
plt.xticks([1, 10, 100], ['1', '10', '100'])
plt.yticks([1, 10, 100], ['1', '10', '100'])

# Настройка заголовков и осей
plt.title("Logarithmic Scale with Custom Ticks")
plt.xlabel("X-axis (log scale)")
plt.ylabel("Y-axis (log scale)")

plt.show()

Результат: График с логарифмическим масштабом на обеих осях и пользовательскими метками для удобства интерпретации данных.

Пример 5: Логарифмический масштаб с дополнительными настройками

В этом примере добавим дополнительные настройки для улучшения визуального представления.

import matplotlib.pyplot as plt
import numpy as np

# Данные
x = np.linspace(1, 100, 100)
y = np.sqrt(x)

# Построение графика
plt.plot(x, y, marker='o')

# Установка логарифмического масштаба
plt.xscale('log')
plt.yscale('log')

# Настройка сетки
plt.grid(True, which='both', linestyle='--', linewidth=0.5)

# Настройка заголовков и осей
plt.title("Enhanced Logarithmic Scale Plot")
plt.xlabel("X-axis (log scale)")
plt.ylabel("Y-axis (log scale)")

plt.show()

Результат: График с логарифмическим масштабом на обеих осях, улучшенной сеткой и метками.

Заключение

Использование логарифмического масштаба в Matplotlib позволяет эффективно визуализировать данные с большим диапазоном значений или экспоненциальным поведением. Вы можете настраивать масштаб как для одной оси, так и для обеих, а также изменять основание логарифма и настраивать метки осей для лучшего представления данных.

Last updated