Добавление метки оси y к вторичной оси y в matplotlib
Я могу добавить метку y к левой оси y с помощью plt.ylabel
, но как я могу добавить его к вторичной оси Y?
table = sql.read_frame(query,connection)
table[0].plot(color=colors[0],ylim=(0,100))
table[1].plot(secondary_y=True,color=colors[1])
plt.ylabel('$')
3 ответа:
лучший способ-это взаимодействовать с
axes
объектimport numpy as np import matplotlib.pyplot as plt x = np.arange(0, 10, 0.1) y1 = 0.05 * x**2 y2 = -1 *y1 fig, ax1 = plt.subplots() ax2 = ax1.twinx() ax1.plot(x, y1, 'g-') ax2.plot(x, y2, 'b-') ax1.set_xlabel('X data') ax1.set_ylabel('Y1 data', color='g') ax2.set_ylabel('Y2 data', color='b') plt.show()
У меня нет доступа на Python прямо сейчас, но с верхней части моей головы:
fig = plt.figure() axes1 = fig.add_subplot(111) # set props for left y-axis here axes2 = axes1.twinx() # mirror them axes2.set_ylabel(...)
существует простое решение без возиться с matplotlib: просто панды.
настройка исходного примера:
table = sql.read_frame(query,connection) ax = table[0].plot(color=colors[0],ylim=(0,100)) ax2 = table[1].plot(secondary_y=True,color=colors[1], ax=ax) ax.set_ylabel('Left axes label') ax2.set_ylabel('Right axes label')
в основном, когда дано (несмотря на то, что
ax=ax
это тоже прошел)pandas.plot
возвращает различные оси, которые мы используем для установки меток.Я знаю, что на это ответили давно, но я думаю, что этот подход оправдывает его.