Source code for puzzlestream.ui.plot

import sys

import matplotlib
import matplotlib.backends.backend_qt5agg as mplAgg
from matplotlib.figure import Figure
from PyQt5 import QtCore, QtGui, QtWidgets


[docs]class Plot(QtWidgets.QWidget): def __init__(self, figure: Figure, parent: QtCore.QObject = None): super().__init__(parent=parent) self.__fig = figure self.__layout = QtWidgets.QVBoxLayout() self.__layout.setContentsMargins(0, 0, 0, 0) self.setLayout(self.__layout) canvas = mplAgg.FigureCanvasQTAgg(self.__fig) self.__layout.addWidget(canvas) toolbar = mplAgg.NavigationToolbar2QT(canvas, None) toolbar.setStyleSheet("background-color:white; color:black;") self.__layout.addWidget(toolbar) @property def figure(self) -> Figure: return self.__fig
[docs] def clear(self): self.__fig.clear()
[docs] def draw(self): self.__layout.itemAt(0).widget().draw()
[docs]class KeyPlot(Plot): def __init__(self, data: dict, figureKey: str, parent: QtCore.QObject = None): super().__init__(data[figureKey], parent)