fork download
  1. # 修改图表标题和标签为英文
  2. def plot_power_balance(self):
  3. """绘制功率平衡曲线"""
  4. fig, ax1 = plt.subplots(figsize=(12, 5))
  5.  
  6. # 负荷侧
  7. ax1.stackplot(range(24),
  8. self.results['P_con'],
  9. [self.P_fixed] * 24,
  10. labels=['Conventional Load', 'Fixed Load (H2/NH3)'],
  11. alpha=0.8)
  12. ax1.plot(range(24), self.results['P_load'], 'k-', lw=2, label='Total Load')
  13. ax1.set_ylabel('Power (MW)', fontsize=12)
  14. ax1.set_xlabel('Time (h)', fontsize=12)
  15.  
  16. # 电源侧
  17. ax2 = ax1.twinx()
  18. ax2.stackplot(range(24),
  19. self.results['P_wind'],
  20. self.results['P_pv'],
  21. labels=['Wind Power', 'PV Power'],
  22. alpha=0.8)
  23. ax2.plot(range(24), self.results['P_ren'], 'b--', lw=2, label='Total Renewable')
  24. ax2.set_ylabel('Power (MW)', fontsize=12)
  25.  
  26. # 合并图例
  27. lines1, labels1 = ax1.get_legend_handles_labels()
  28. lines2, labels2 = ax2.get_legend_handles_labels()
  29. ax1.legend(lines1 + lines2, labels1 + labels2, loc='upper left', fontsize=10)
  30.  
  31. plt.title('Typical Day Power Balance Curve', fontsize=14, fontweight='bold')
  32. plt.tight_layout()
  33. plt.show()
Success #stdin #stdout 0.07s 14088KB
stdin
Standard input is empty
stdout
Standard output is empty