matplotlib pyton 如何画柱状图,利用kimi,直接把图拉倒上面,让他生成

发布于:2025-02-11 ⋅ 阅读:(30) ⋅ 点赞:(0)

要绘制类似于您提供的图像的柱状图,您可以使用Python中的Matplotlib库,这是一个非常流行的绘图库。以下是一个简单的示例代码,展示如何使用Matplotlib来创建一个类似的柱状图:

```python
import matplotlib.pyplot as plt
import numpy as np

# 数据
categories = ['中,火车', '中,测试', '强壮,训练', '强,测试']
stm_values = [1.07412, 1.12613, 0.94519, 0.93205]
bnn_values = [0.37709, 0.4424, 0.40883, 0.36503]
gan_values = [0.29486, 0.3558, 0.19483, 0.1721]

# 设置柱状图的位置
x = np.arange(len(categories))
width = 0.2

# 创建柱状图
fig, ax = plt.subplots()
rects1 = ax.bar(x - width, stm_values, width, label='双线性STM')
rects2 = ax.bar(x, bnn_values, width, label='BNN')
rects3 = ax.bar(x + width, gan_values, width, label='甘')

# 添加文本标签、标题和自定义x轴刻度标签
ax.set_ylabel('KL Divergence(nats)')
ax.set_title('三个基于DL的信道模型的输出数据与目标数据之间的KL散度')
ax.set_xticks(x)
ax.set_xticklabels(categories)
ax.legend()

# 在柱状图上添加数值标签
def autolabel(rects):
    for rect in rects:
        height = rect.get_height()
        ax.annotate('{}'.format(height),
                    xy=(rect.get_x() + rect.get_width() / 2, height),
                    xytext=(0, 3),  # 3 points vertical offset
                    textcoords="offset points",
                    ha='center', va='bottom')

autolabel(rects1)
autolabel(rects2)
autolabel(rects3)

# 显示图表
plt.show()
```

这段代码将创建一个柱状图,其中包含三组数据(双线性STM、BNN和甘),每组数据对应不同的类别。每个柱子上方的数值标签显示了KL散度的值。您可以根据需要调整颜色、标签和其他样式设置。

确保您已经安装了Matplotlib库,如果没有安装,可以通过以下命令安装:

```bash
pip install matplotlib
```

运行上述代码后,您将得到一个与您提供的图像类似的柱状图。
 


网站公告

今日签到

点亮在社区的每一天
去签到