import matplotlib.pyplot as plt
import numpy as np

# Datos
parametros = ['Longitud de\nla tubería', 'Ancho de\nla cara',
              'Diámetro de\nla tubería', 'Flujo másico\ndel HTF']

ef_inicial = [0.5520, 0.5071, 0.7305, 0.5625]
ef_final = [0.5535, 0.5529, 0.7291, 0.5526]

diferencias_porcentuales = [0.27, 9.03, 0.19, 1.76]

# Posiciones
x = np.arange(len(parametros))
width = 0.35

fig, ax = plt.subplots(1, 2, figsize=(20, 8))

# ---------- Gráfico 1 ----------
ax[0].bar(x - width/2, ef_inicial, width,
          label='Eficiencia térmica inicial', color='blue', alpha=0.7)

ax[0].bar(x + width/2, ef_final, width,
          label='Eficiencia térmica final', color='green', alpha=0.7)

ax[0].set_xticks(x)
ax[0].set_xticklabels(parametros, fontsize=20)
ax[0].set_ylabel('Eficiencia térmica', fontsize=20)
ax[0].legend(loc='upper left', fontsize=18, frameon=True)
ax[0].grid(axis='y', linestyle='--', alpha=0.7)
ax[0].tick_params(axis='y', labelsize=18)

ax[0].set_ylim(0, max(max(ef_inicial), max(ef_final)) * 1.2)

for spine in ax[0].spines.values():
    spine.set_edgecolor('black')
    spine.set_linewidth(2)

# ---------- Gráfico 2 ----------
ax[1].bar(x, diferencias_porcentuales, width,
          color='orange', alpha=0.7)

ax[1].set_xticks(x)
ax[1].set_xticklabels(parametros, fontsize=20)
ax[1].set_ylabel('\nVariación de la eficiencia (%)', fontsize=20)
ax[1].grid(axis='y', linestyle='--', alpha=0.7)
ax[1].tick_params(axis='y', labelsize=18)

# ✅ Ajuste solicitado
ax[1].set_ylim(0, 10)
ax[1].set_yticks([0, 3, 6, 9])   # Evita mostrar el 10

for spine in ax[1].spines.values():
    spine.set_edgecolor('black')
    spine.set_linewidth(2)

plt.tight_layout()
plt.show()

Embed on website

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