我有这个 Python 脚本可以在将值添加到 csv 文件时动态更新图表:
import numpy as np
from itertools import count
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
plt.style.use('fivethirtyeight')
x_vals = []
y_vals = []
index = count()
def animate(i):
data = pd.read_csv('csv_data.csv')
x = data['x_value']
y1 = data['total_1']
y2 = data['total_2']
plt.cla()
plt.plot(x, y1, label='Channel 1')
plt.plot(x, y2, label='Channel 2')
plt.legend(loc='upper left')
plt.tight_layout()
ani = FuncAnimation(plt.gcf(), animate, frames=np.arange(0, 11, 0.1), interval=1000)
plt.show()
这是我的 csv 数据最初的样子:
x_value,total_1,total_2
0,1000,1000
1,1002,1001
2,1004,999
3,1006,1004
4,1002,1003
5,999,1003
6,1003,1001
7,1011,1004
8,1008,1000
9,1010,1000
10,1012,999
如果我运行我的程序,图表会显示每条线的所有 11 个点,然后动态添加每个新点。是否可以编辑此代码,以便在程序运行时动态绘制最初的 11 个点,如果可以,我该怎么做?我希望每一秒都能画出每一点。