import matplotlib.pyplot as plt

# Nuevos datos de eficiencia en función del mes
months = ['Ene', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 
          'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic']
electric_efficiency = [0.1991, 0.1983, 0.1977, 0.1972, 0.1975, 0.1972, 
                       0.1975, 0.1981, 0.1983, 0.1981, 0.1987, 0.1991]
thermal_efficiency = [0.5302, 0.5313, 0.5307, 0.5379, 0.5341, 0.5371, 
                      0.5276, 0.5349, 0.5285, 0.5307, 0.525, 0.5259]

# Rango manual para la eficiencia eléctrica
electric_min = 0.196  # Ajusta este valor según tu preferencia
electric_max = 0.202  # Ajusta este valor según tu preferencia

# Rango manual para la eficiencia térmica
thermal_min = 0.520  # Ajusta este valor según tu preferencia
thermal_max = 0.544  # Ajusta este valor según tu preferencia

# 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(months, electric_efficiency, marker='o', color='blue', linestyle='-', linewidth=2, label='Eficiencia eléctrica')
ax1.set_ylabel('Eficiencia', fontsize=etiqueta_eje_fontsize)
ax1.tick_params(axis='both', labelsize=etiqueta_ticks_fontsize)
ax1.set_xlabel('Meses', fontsize=etiqueta_eje_fontsize)
ax1.set_ylim(electric_min, electric_max)  # Usar el rango manual para el eje Y izquierdo
ax1.set_xticks(months)  # Usar los meses directamente como etiquetas

# Crear segundo eje Y para la eficiencia térmica
ax2 = ax1.twinx()
ax2.plot(months, thermal_efficiency, marker='s', color='red', linestyle='-', linewidth=2, label='Eficiencia térmica')
ax2.set_ylabel('Eficiencia', fontsize=etiqueta_eje_fontsize)
ax2.set_ylim(thermal_min, thermal_max)  # Usar el rango manual para el eje Y derecho

# 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=20)  # 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: