我在Matplotlib中有以下条形图
import matplotlib.pyplot as plt
import numpy as np
# Categories and methods
categories = ['25 kWh', '50 kWh', '80 kWh']
methods = ['Optimal Control', 'PSC', 'PSC-ANN']
#Input data
improvement_25_kWh = [13.3, 4.1, 5.4]
improvement_50_kWh = [13.8, 6.3, 4.4]
improvement_80_kWh = [14.3, 8.5, 3.8]
bar_width = 0.2
bar_positions_25_kWh = np.arange(len(categories))
bar_positions_50_kWh = bar_positions_25_kWh + bar_width
bar_positions_80_kWh = bar_positions_50_kWh + bar_width
plt.figure(figsize=(12, 7))
bars_25_kWh = plt.bar(bar_positions_25_kWh, improvement_25_kWh, color='blue', width=bar_width, label='Optimal Control')
bars_50_kWh = plt.bar(bar_positions_50_kWh, improvement_50_kWh, color='orange', width=bar_width, label='PSC')
bars_80_kWh = plt.bar(bar_positions_80_kWh, improvement_80_kWh, color='green', width=bar_width, label='PSC-ANN')
plt.xlabel('Building types', fontsize=17)
plt.ylabel('Improvement (%)', fontsize=17)
plt.xticks(bar_positions_50_kWh, categories, fontsize=15)
plt.yticks(fontsize=15)
plt.legend(fontsize=17)
plt.savefig(r'C:\Users\User1\Desktop\Result_Percentage_Improvements.png', bbox_inches='tight', dpi=200)
plt.show()
问题是这些值的绘制顺序有误.我想要的是有3个类别['25 kWh', '50 kWh', '80 kWh']
,对于每个类别,应该绘制3个方法methods = ['Optimal Control', 'PSC', 'PSC-ANN']
的值.输入数据例如improvement_25_kWh = [13.3, 4.1, 5.4]
总是具有按方法的顺序的值[‘最优控制’、‘PSC’、‘PSC-ANN’].我怎么能做到这一点?