Cómo añadir una etiqueta del eje y al eje y secundario en Matplotlib
-
Interacción directa con el objeto
axes
-
El método
DataFrame.plot
para agregar una etiqueta del eje y al eje y secundario

Podemos interactuar con el objeto axes
directamente o usar el método DataFrame.plot
para añadir una etiqueta del eje y al eje y secundario en Matplotlib.
Interacción directa con el objeto axes
Podemos hacer una trama con dos ejes y diferentes usando dos objetos axes
diferentes con la ayuda de la función twinx()
. Ahora podemos usar el segundo objeto axes
para hacer el gráfico de la segunda variable del eje y
y actualizar su etiqueta.
import numpy as np
import matplotlib.pyplot as plt
a=np.linspace(0,5,100)
y1 = np.sin(2 * np.pi * a)
y2 = np.cos(2 * np.pi * a)
fig, ax1 = plt.subplots()
color = 'tab:red'
ax1.set_xlabel('time (s)')
ax1.set_ylabel('sin', color=color)
ax1.plot(a, y1, color=color)
ax1.tick_params(axis='y', labelcolor=color)
ax2 = ax1.twinx()
color = 'tab:green'
ax2.set_ylabel('cos', color=color)
ax2.plot(a, y2, color=color)
ax2.tick_params(axis='y', labelcolor=color)
fig.tight_layout()
plt.show()
Producción:
ax2 = ax1.twinx()
Axes.twinx()
crea un nuevo Axes
con un eje y opuesto al original, en este ejemplo ax1
.
El método DataFrame.plot
para agregar una etiqueta del eje y al eje y secundario
Podemos añadir una etiqueta del eje y al eje y secundario con pandas
también. Cuando establecemos la opción secondary_y
como true
en el método DataFrame.plot
, devuelve diferentes ejes que pueden ser usados para establecer las etiquetas.
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame({'Age': [22, 12, 18, 25, 30],
'Height': [155,129,138,164,145],
'Weight': [60,40,45,55,60]})
ax=df.plot(kind='line', x='Age', y='Height', color='DarkBlue')
ax2=df.plot(kind='line', x='Age', y='Weight', secondary_y=True,color='Red', ax=ax)
ax.set_ylabel('Height')
ax2.set_ylabel('Weight')
plt.tight_layout()
plt.show()
Producción:
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn