Что касается визуализации данных, Matplotlib — это мощная библиотека Python, предоставляющая широкий спектр возможностей построения графиков. В некоторых сценариях может потребоваться отобразить несколько наборов данных в разных масштабах по оси Y. Этого можно достичь, используя двойные оси Y, где каждый набор данных связан со своей собственной осью Y. В этой статье мы рассмотрим различные методы построения данных по левой и правой осям Y с использованием Matplotlib, а также примеры кода.
Метод 1: использование функций twinx()и twiny()
Функции twinx()и twiny()позволяют нам создайте дополнительную ось Y справа и дополнительную ось X сверху соответственно. Вот пример:
import matplotlib.pyplot as plt
import numpy as np
# Generate sample data
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.exp(x)
# Create a figure and axes
fig, ax1 = plt.subplots()
# Plot the first dataset on the left y-axis
ax1.plot(x, y1, 'b-')
ax1.set_xlabel('X-axis')
ax1.set_ylabel('Left Y-axis', color='b')
# Create a twin axes sharing the x-axis
ax2 = ax1.twinx()
# Plot the second dataset on the right y-axis
ax2.plot(x, y2, 'r-')
ax2.set_ylabel('Right Y-axis', color='r')
plt.show()
Метод 2: использование subplots()и twinx()
Этот метод предполагает создание двух подграфиков, где первый подграфик связан с левой осью Y, а второй подграфик связан с правой осью Y. Вот пример:
import matplotlib.pyplot as plt
import numpy as np
# Generate sample data
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.exp(x)
# Create a figure and subplots
fig, ax = plt.subplots(2, 1, sharex=True)
# Plot the first dataset on the left y-axis
ax[0].plot(x, y1, 'b-')
ax[0].set_ylabel('Left Y-axis', color='b')
# Plot the second dataset on the right y-axis
ax[1].plot(x, y2, 'r-')
ax[1].set_ylabel('Right Y-axis', color='r')
plt.xlabel('X-axis')
plt.show()
Метод 3: использование параметра secondary_y
Matplotlib предоставляет удобный параметр secondary_y, который можно использовать с функцией plot()для связывания набор данных с правой осью Y. Вот пример:
import matplotlib.pyplot as plt
import numpy as np
# Generate sample data
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.exp(x)
# Create a figure and axes
fig, ax = plt.subplots()
# Plot the first dataset on the left y-axis
ax.plot(x, y1, 'b-')
ax.set_xlabel('X-axis')
ax.set_ylabel('Left Y-axis', color='b')
# Plot the second dataset on the right y-axis
ax.plot(x, y2, 'r-', secondary_y=True)
ax.set_ylabel('Right Y-axis', color='r')
plt.show()
В этой статье мы рассмотрели несколько методов построения данных по левой и правой осям Y с использованием Matplotlib. Используя функции twinx()и twiny(), создавая подграфики или используя параметр secondary_y, мы можем эффективно визуализировать наборы данных в разных масштабах на отдельных диаграммах. топоры. Поэкспериментируйте с этими методами, чтобы улучшить визуализацию данных и получить более глубокое понимание графиков.