|
-
- import tkinter as tk
-
- from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
- from matplotlib.figure import Figure
-
- from ui.plotters.plotter import Plotter
-
- class PlotFrame(tk.Frame):
- def __init__(self, parent, width=None, height=None):
- super().__init__(parent, width=width, height=height)
- if width is not None or height is not None:
- self.pack_propagate(False)
- self.figure = self.create_plot_figure()
- self.plotter: Plotter = None
-
- def create_plot_figure(self):
- figure = Figure(layout="compressed", facecolor=(0,0,0))
- # Create a matplotlib canvas to display the plot
- canvas = FigureCanvasTkAgg(figure, self)
- canvas.draw()
- (canvas.get_tk_widget()
- .pack(fill=tk.BOTH, expand=False, padx=0, pady=0, ipadx=0, ipady=0))
- return figure
-
- def update_data(self, data):
- self.plotter.update_plot(data)
|