Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rberlich/67b915ae9a9067373f93c57b3ec78301 to your computer and use it in GitHub Desktop.
Save rberlich/67b915ae9a9067373f93c57b3ec78301 to your computer and use it in GitHub Desktop.
#---------Imports
import numpy as np
import matplotlib
matplotlib.use('TkAgg')
from numpy import arange, sin, pi
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
from matplotlib.figure import Figure
from matplotlib import gridspec
import tkinter as Tk
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import sys
#---------End of imports
grid_spec = gridspec.GridSpec(2, 2)
monitor_display_array = np.zeros((100, 40), dtype=float)
monitor_zero_array = np.zeros((100, 40), dtype=float)
monitor_one_array = np.ones((100, 40), dtype=float)
sample_zero_array = np.zeros((500, 200), dtype=float)
sample_one_array = np.ones((500, 200), dtype=float)
failure_zero_array = np.zeros((500, 200), dtype=float)
failure_one_array = np.ones((500, 200), dtype=float)
fig = plt.Figure()
def init():
np.copyto(monitor_display_array, monitor_zero_array)
im_monitor.set_data(monitor_zero_array)
im_sample.set_data(sample_zero_array)
im_failure.set_data(failure_zero_array)
return im_monitor, im_sample, im_failure
def updatefig(i):
monitor_display_array[:, i] = 1
im_monitor.set_data(monitor_display_array)
if i < 20:
im_sample.set_data(sample_zero_array)
else:
im_sample.set_data(sample_one_array)
if i < 20:
im_failure.set_data(failure_one_array)
else:
im_failure.set_data(failure_zero_array)
return im_monitor, im_sample, im_failure
root = Tk.Tk()
label = Tk.Label(root,text="Data Visualization").grid(column=0, row=0)
canvas = FigureCanvasTkAgg(fig, master=root)
canvas.get_tk_widget().grid(row=1, column=0)
ax_monitor = fig.add_subplot(grid_spec[0, :])
im_monitor = ax_monitor.imshow(monitor_zero_array, aspect='auto', vmin=0, vmax=1, animated=True)
ax_sample = fig.add_subplot(grid_spec[1, 0])
im_sample = ax_sample.imshow(sample_zero_array, aspect='auto', vmin=0, vmax=1, animated=True)
ax_failure = fig.add_subplot(grid_spec[1, 1])
im_failure = ax_failure.imshow(failure_zero_array, aspect='auto', vmin=0, vmax=1, animated=True)
ani = animation.FuncAnimation(fig, updatefig, range(0,40), init_func=init, interval=50, blit=True)
Tk.mainloop()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment