Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

28 рядки
919B

  1. import tkinter as tk
  2. from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
  3. from matplotlib.figure import Figure
  4. from ui.plotters.plotter import Plotter
  5. class PlotFrame(tk.Frame):
  6. def __init__(self, parent, width=None, height=None):
  7. super().__init__(parent, width=width, height=height)
  8. if width is not None or height is not None:
  9. self.pack_propagate(False)
  10. self.figure = self.create_plot_figure()
  11. self.plotter: Plotter = None
  12. def create_plot_figure(self):
  13. figure = Figure(layout="compressed", facecolor=(0,0,0))
  14. # Create a matplotlib canvas to display the plot
  15. canvas = FigureCanvasTkAgg(figure, self)
  16. canvas.draw()
  17. (canvas.get_tk_widget()
  18. .pack(fill=tk.BOTH, expand=False, padx=0, pady=0, ipadx=0, ipady=0))
  19. return figure
  20. def update_data(self, data):
  21. self.plotter.update_plot(data)