import matplotlib.pyplot as plt
import matplotlib.animation as animation
plt.style.use("ggplot")
plt.rcParams['font.family'] = 'sans-serif'
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['font.size'] = 12
plt.rcParams['axes.unicode_minus'] = False
# 读取数据
x = []
y = []
with open('elcentro_NS.txt', 'r') as f:
for line in f:
data = line.split()
x.append(float(data[0]))
y.append(float(data[1]))
# 创建画布和坐标轴对象
fig, ax = plt.subplots()
# 初始化线条对象,我们将在动画中更新它
line, = ax.plot([], [], color='blue', linewidth=2)
# 设置坐标轴的范围和标签
ax.set_xlim(0, x[-1])
#ax.set_ylim(min(y), max(y))
ax.set_ylim(-0.5, 0.5)
ax.set_xlabel('时间/s')
ax.set_ylabel('顶部水平位移')
# 动画函数,用于更新线条对象
def update(i):
line.set_data(x[:i], y[:i])
return line,
# 创建动画对象
ani = animation.FuncAnimation(fig, update, frames=len(x), interval=1, blit=True)
# 显示动画
plt.show()