import matplotlib.pyplot as plt
# Datos proporcionados
meses = list(range(1, 13))
temp_ambiente = [24.65, 23.85, 29.65, 27.85, 23.65, 26.75, 27.25, 23.85, 23.25, 24.25, 25.65, 23.35]
temp_cielo = [16.65, 15.85, 21.65, 19.85, 15.65, 18.75, 19.25, 15.85, 15.25, 16.25, 17.65, 15.35]
radiacion_total = [812.6, 942.5, 991.1, 953.5, 989.3, 971.3, 1020, 944.1, 827.1, 748.4, 805.5, 777.4]
radiacion_directa = [548.4, 746.5, 779.6, 673.5, 795.8, 740.1, 865.3, 749.3, 650.7, 507.8, 624.1, 574]
# Configuración del gráfico
fig, ax1 = plt.subplots(figsize=(10.67, 8)) # Tamaño en pulgadas para una escala 4:3 y resolución 800x600
# Radiaciones en el eje izquierdo
color1 = 'tab:blue'
ax1.set_xlabel('Mes', fontsize=24)
ax1.set_ylabel('Radiación (W/m²)', fontsize=24, color=color1)
ax1.plot(meses, radiacion_total, marker='o', color='blue', markersize=8, linestyle='-', linewidth=2, label='Radiación total')
ax1.plot(meses, radiacion_directa, marker='s', color='blue', markersize=8, linestyle='-', linewidth=2, label='Radiación directa')
ax1.tick_params(axis='y', labelcolor=color1)
ax1.set_ylim(450, 1200) # Rango ligeramente más grande en el eje y para la radiación
# Temperaturas en el eje derecho
ax2 = ax1.twinx()
color2 = 'tab:purple'
ax2.set_ylabel('Temperatura (°C)', fontsize=18, color=color2)
ax2.plot(meses, temp_ambiente, marker='^', color='purple', markersize=8, linestyle='-', linewidth=2, label='Temp. Ambiente')
ax2.plot(meses, temp_cielo, marker='d', color='purple', markersize=8, linestyle='-', linewidth=2, label='Temp. de cielo')
ax2.tick_params(axis='y', labelcolor=color2)
ax2.set_ylim(9, 45) # Rango ligeramente más grande en el eje y para las temperaturas
# Título del gráfico
plt.title('Datos meteorológicos de Cuernavaca', fontsize=22)
# Leyenda en la parte superior izquierda
lines, labels = ax1.get_legend_handles_labels()
lines2, labels2 = ax2.get_legend_handles_labels()
ax1.legend(lines + lines2, labels + labels2, loc='upper left', fontsize=16, bbox_to_anchor=(0, 1))
# Ajustes de los bordes de los ejes
ax1.spines['top'].set_linewidth(1.5)
ax1.spines['right'].set_linewidth(1.5)
ax1.spines['bottom'].set_linewidth(1.5)
ax1.spines['left'].set_linewidth(1.5)
plt.xticks(meses, fontsize=22)
plt.yticks(fontsize=22)
plt.tight_layout()
# Guardar la figura con la resolución especificada
plt.savefig('grafico_datos_meteorologicos_cuernavaca.png', dpi=100)
plt.show()
To embed this program on your website, copy the following code and paste it into your website's HTML: