matplotlib绘制的折线图 在折线图上显示值 并且只显示最新的值
时间: 2024-03-20 11:39:47 浏览: 50
可以使用matplotlib中的annotate函数在折线图上添加文本注释来显示值。具体做法是,先定义一个空的文本注释对象,然后在每次更新数据时更新注释的位置和内容即可。
下面是一个示例代码:
``` python
import matplotlib.pyplot as plt
# 定义空的文本注释对象
text_annotation = plt.annotate("", xy=(0,0), xytext=(10,10),
textcoords="offset points",
bbox=dict(boxstyle="round", fc="w"),
arrowprops=dict(arrowstyle="->"))
# 初始化折线图
fig, ax = plt.subplots()
x_data = []
y_data = []
line, = ax.plot(x_data, y_data)
# 更新数据并更新注释的位置和内容
def update_data(x, y):
x_data.append(x)
y_data.append(y)
line.set_data(x_data, y_data)
text_annotation.xy = (x, y)
text_annotation.set_text(f"{y:.2f}")
fig.canvas.draw()
# 示例数据更新
for i in range(10):
update_data(i, i**2)
plt.pause(1)
plt.show()
```
注:上述代码中的`plt.pause(1)`是为了在每次更新数据时暂停一段时间以便观察效果,实际使用时可以去掉。
阅读全文