Hay una solución sencilla sin meterse con matplotlib: solo pandas.
Modificando el ejemplo original:
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')
Básicamente, cuando secondary_y=True
se da la opción (aunque también ax=ax
se pasa) pandas.plot
devuelve un eje diferente que usamos para establecer las etiquetas.
Sé que esto fue respondido hace mucho tiempo, pero creo que este enfoque lo vale.