python - 如何使用 python 在折线图中显示超过 50% 准确度的标签?
问题描述
fig = plt.figure(figsize=[5, 5])
plt.plot(data["recall"])
plt.title('256 Classes Performance')
plt.xlabel('class')
plt.ylabel('Accuracy Rate')
plt.show()
图 1 是我的图,图 2 是我想要的,我想为那些准确率超过 50% 的类添加标签,包括折线图中显示的类号和准确率
解决方案
您可以使用ax.annotate
和的组合ax.scatter
。xytext
你可以移动文本(参见matplotlib.pyplot.annotate )。
import matplotlib.pyplot as plt
import numpy as np
from numpy.lib.financial import pmt
y_vals = np.random.rand(50)
x_vals = np.arange(50)
annotations = [f'{y:.1f}' if y >= 0.5 else '' for y in y_vals]
dots = [y if y >= 0.5 else 9999.0 for y in y_vals]
fig, ax = plt.subplots(figsize=(5, 4))
ax.set_ylim(-0.1, 1.1)
ax.plot(x_vals, y_vals)
ax.scatter(x_vals, dots, color='red')
for x, y, text_val in zip(x_vals, y_vals, annotations):
ax.annotate(
text_val,
xy=(x, y),
)
plt.show()
推荐阅读
- android - Android progressBar 不显示或不可见
- python - 将 numpy 数组作为变量添加到 Xarray 数据集
- laravel-backpack - 在 Laravel Backpack 中 - 如何使用 addColumn 将列向右对齐
- c++ - 接受不同参数的构造函数有问题
- python - 处理请求速率限制,MusicBrainz API
- linux - 使用 Expect 填写多行提示
- r - 打印和导出 PDF 与调用图形设备保存 PDF 有什么区别?
- java - 原型中的 ANTLR4 异常
- spring-boot - Elastic Search 6.2.2 和 Spring Data Rest
- node.js - 包含另一个 Pug 视图失败