Существует простое решение, не связанное с matplotlib: просто pandas.
Настройка исходного примера:
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')
В основном, когда secondary_y=True
задана опция (хотя ax=ax
и передана), pandas.plot
возвращаются другие оси, которые мы используем для установки меток.
Я знаю, что на этот вопрос давным-давно ответили, но я думаю, что такой подход того стоит.