如何在matplotlib绘图中给每个点上标注数值?
使用plt.text()
函数可以实现,不过不那么优雅。原理就是把数添加到图中指定的位置。
第1个参数是x轴位置,第2个参数是y轴位置,第3个是要标注的值。
import matplotlib.pyplot as plt
if __name__ == '__main__':
x = [1, 2, 3, 4, 5, 6, 7, 8]
y = [23.75, 24.56, 25.38, 26.19, 30.28, 36.12, 47.65, 47.65]
plt.plot(x, y, '-p')
for xi, yi in zip(x, y):
# 给x和y添加偏移量,别和点重合在一起了
plt.text(xi, yi + 1, yi)
plt.show()