49 lines
1013 B
Plaintext
49 lines
1013 B
Plaintext
# Another way to do it without clearing the Axis
|
|
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 = []
|
|
|
|
plt.plot([], [], label='Channel 1')
|
|
plt.plot([], [], label='Channel 2')
|
|
|
|
|
|
def animate(i):
|
|
data = pd.read_csv('data.csv')
|
|
x = data['x_value']
|
|
y1 = data['total_1']
|
|
y2 = data['total_2']
|
|
|
|
ax = plt.gca()
|
|
line1, line2 = ax.lines
|
|
|
|
line1.set_data(x, y1)
|
|
line2.set_data(x, y2)
|
|
|
|
xlim_low, xlim_high = ax.get_xlim()
|
|
ylim_low, ylim_high = ax.get_ylim()
|
|
|
|
ax.set_xlim(xlim_low, (x.max() + 5))
|
|
|
|
y1max = y1.max()
|
|
y2max = y2.max()
|
|
current_ymax = y1max if (y1max > y2max) else y2max
|
|
|
|
y1min = y1.min()
|
|
y2min = y2.min()
|
|
current_ymin = y1min if (y1min < y2min) else y2min
|
|
|
|
ax.set_ylim((current_ymin - 5), (current_ymax + 5))
|
|
|
|
|
|
ani = FuncAnimation(plt.gcf(), animate, interval=1000)
|
|
|
|
plt.legend()
|
|
plt.tight_layout()
|
|
plt.show()
|