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:.2f}', ha='center', va='bottom', color='gray') # 显示图表 plt.show()使图标可以显示很多位小树
时间: 2023-06-17 15:08:04 浏览: 139
imagenet_slim_labels.txt
要让图表显示更多的小数位,可以在调用 plt.show() 之前设置 matplotlib 的参数。具体来说,可以使用以下代码将所有数字的小数位设置为 3 位:
```python
import matplotlib.pyplot as plt
plt.rcParams['axes.formatter.useoffset'] = False # 防止科学计数法显示
plt.rcParams['axes.formatter.limits'] = (-3, 3) # 设置科学计数法的显示范围
plt.rcParams['axes.formatter.use_mathtext'] = True # 使用 LaTeX 渲染数学公式
plt.rcParams['axes.formatter.mathtext.fontset'] = 'stix' # 使用 Times New Roman 字体
plt.rcParams['axes.formatter.mathtext.rm'] = 'serif' # 使用衬线字体
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:.3f}', ha='center', va='bottom', color='gray')
# 显示图表
plt.show()
```
在这里,我们使用了一系列参数来控制图表的显示方式,包括:
- `axes.formatter.useoffset`:是否使用科学计数法显示坐标轴刻度。
- `axes.formatter.limits`:设置科学计数法的显示范围,此处设置为 $10^{-3}$ 到 $10^3$。
- `axes.formatter.use_mathtext`:是否使用 LaTeX 渲染数学公式。
- `axes.formatter.mathtext.fontset`:设定使用的字体,此处使用 Times New Roman。
- `axes.formatter.mathtext.rm`:设定使用的字体类型,此处使用衬线字体。
通过设置这些参数,我们可以让图表显示更加精细和美观。
阅读全文