import matplotlib.pyplot as plt # 绘制条形图 x_labels = ['Accuracy', 'Precision', 'Recall', 'F1 Score'] y_values = [acc, prec, rec, f1] fig, ax = plt.subplots() ax.bar(x_labels, y_values) # 添加平均指标线 avrg = np.mean(y_values) ax.axhline(avrg, color='gray', linestyle='--') ax.text(0.5, avrg + 0.01, f'Average: {avrg:.10f}', ha='center', va='bottom', color='gray') # 显示图表 plt.show()显示每个指标的数值
时间: 2023-06-18 17:05:23 浏览: 44
可以在每个条形上方添加数值标签,可以使用ax.text()方法实现。具体代码如下:
```
import matplotlib.pyplot as plt
import numpy as np
# 绘制条形图
x_labels = ['Accuracy', 'Precision', 'Recall', 'F1 Score']
y_values = [acc, prec, rec, f1]
fig, ax = plt.subplots()
ax.bar(x_labels, y_values)
# 添加平均指标线
avrg = np.mean(y_values)
ax.axhline(avrg, color='gray', linestyle='--')
ax.text(0.5, avrg + 0.01, f'Average: {avrg:.10f}', ha='center', va='bottom', color='gray')
# 添加数值标签
for i, v in enumerate(y_values):
ax.text(i, v + 0.01, str(round(v, 4)), ha='center', va='bottom', color='black')
# 显示图表
plt.show()
```
这段代码会在每个条形上方添加数值标签,并且把数值四舍五入到小数点后四位。
相关问题
import networkx as nx import matplotlib.pyplot as plt # 创建图 G = nx.Graph()
# 添加节点
G.add_node(1)
G.add_node(2)
G.add_node(3)
# 添加边
G.add_edge(1, 2)
G.add_edge(2, 3)
G.add_edge(3, 1)
# 绘制图形
nx.draw(G, with_labels=True)
plt.show()
import matplotlib.pyplot as plt #包含绘图模块 fig= plt._____(2)______() #创建一个空白画布 ax1=fig._______(3)___________(1,1,1) #添加一个子图 plt.show() #显示图表
import matplotlib.pyplot as plt #包含绘图模块
fig= plt.figure() #创建一个空白画布
ax1=fig.add_subplot(1,1,1) #添加一个子图
plt.show() #显示图表