import matplotlib.pyplot as plt

# Nuevos datos de eficiencia
eficiencia_electrica = [
    0.267, 0.2648, 0.2617, 0.2629, 
    0.2626, 0.262, 0.2612, 0.2662, 
    0.266, 0.2653, 0.2642, 0.2662
]
eficiencia_termica = [
    0.5718, 0.5739, 0.5754, 0.581, 
    0.578, 0.5811, 0.5728, 0.5764, 
    0.5705, 0.5729, 0.5687, 0.5683
]

# Meses en español
meses = [
    'Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 
    'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'
]

# Tamaños de letra personalizables
titulo_fontsize = 22
etiqueta_eje_fontsize = 20
etiqueta_ticks_fontsize = 20
leyenda_fontsize = 20

# Crear una figura y ejes
fig, ax1 = plt.subplots(figsize=(12, 8))

# Graficar eficiencia eléctrica
ax1.plot(meses, eficiencia_electrica, marker='o', color='blue', linestyle='-', linewidth=2, label='Eficiencia Eléctrica')
ax1.set_ylabel('Eficiencia Eléctrica', fontsize=etiqueta_eje_fontsize)
ax1.tick_params(axis='both', labelsize=etiqueta_ticks_fontsize)
ax1.set_ylim(0.255, 0.280)  # Ajustar el límite del eje Y izquierdo

# Crear segundo eje Y para la eficiencia térmica
ax2 = ax1.twinx()
ax2.plot(meses, eficiencia_termica, marker='s', color='red', linestyle='-', linewidth=2, label='Eficiencia Térmica')
ax2.set_ylabel('Eficiencia Térmica', fontsize=etiqueta_eje_fontsize)
ax2.set_ylim(0.560, 0.590)  # Ajustar el límite del eje Y derecho

# Configuración del eje X
ax1.set_xlabel('Meses', fontsize=etiqueta_eje_fontsize)
ax1.set_xticks(meses)

# Títulos generales
plt.title('', fontsize=titulo_fontsize)

# Integrar leyendas en un solo cuadro a la izquierda
lines1, labels1 = ax1.get_legend_handles_labels()
lines2, labels2 = ax2.get_legend_handles_labels()
ax1.legend(lines1 + lines2, labels1 + labels2, loc='upper left', fontsize=leyenda_fontsize, frameon=True)

# Ajustar el tamaño de la numeración del eje Y derecho
ax2.tick_params(axis='y', labelsize=18)  # Tamaño de las etiquetas del eje Y derecho

# Eliminar el grid
ax1.grid(False)

# Acentuar el marco del gráfico en todos los lados
for spine in ax1.spines.values():
    spine.set_edgecolor('black')
    spine.set_linewidth(2)  # Define el grosor del marco

for spine in ax2.spines.values():
    spine.set_edgecolor('black')
    spine.set_linewidth(2)  # Define el grosor del marco

# Ajustar el diseño
fig.tight_layout()

# Mostrar el gráfico
plt.show()

Embed on website

To embed this program on your website, copy the following code and paste it into your website's HTML: