现在有7张图片,将7张图片设置成横坐标名,使用5个模型分别检测7张图片后各会产生一个数值。请将它们使用python语言的格式画成柱状图
时间: 2024-03-24 11:36:11 浏览: 13
好的,以下是Python的代码实现,假设7张图片的名称为img_1至img_7,5个模型的输出分别为model_1至model_5:
```python
import matplotlib.pyplot as plt
import numpy as np
# 创建数据
data = {'img_1': [model_1_output, model_2_output, model_3_output, model_4_output, model_5_output],
'img_2': [model_1_output, model_2_output, model_3_output, model_4_output, model_5_output],
'img_3': [model_1_output, model_2_output, model_3_output, model_4_output, model_5_output],
'img_4': [model_1_output, model_2_output, model_3_output, model_4_output, model_5_output],
'img_5': [model_1_output, model_2_output, model_3_output, model_4_output, model_5_output],
'img_6': [model_1_output, model_2_output, model_3_output, model_4_output, model_5_output],
'img_7': [model_1_output, model_2_output, model_3_output, model_4_output, model_5_output]}
# 模型名称
models = ['model_1', 'model_2', 'model_3', 'model_4', 'model_5']
# 计算每组数据的位置
x = np.arange(len(data))
# 绘制柱状图
for i, img_name in enumerate(data):
img_data = data[img_name]
plt.bar(x + i*0.15, img_data, width=0.15, label=img_name)
# 设置x轴标签和标题
plt.xticks(x + 0.3, models)
plt.xlabel('Models')
plt.ylabel('Detection output')
plt.title('Detection results')
# 显示图例
plt.legend()
# 显示图像
plt.show()
```
这段代码会生成一个柱状图,其中每个柱状图表示一个图片的5个模型输出值。你可以根据自己的数据和需求修改代码中的数据和标签,来实现自己的柱状图。