From cdf392e3e522c63aea05923477319507a6a3e321 Mon Sep 17 00:00:00 2001 From: Ebag333 Date: Sat, 18 Feb 2017 10:15:06 -0800 Subject: [PATCH] Change matplotlib to be imported at the top and not use the import hack. Slows down the startup times slightly, but much simpler. --- gui/graphFrame.py | 39 ++++++++++++++++----------------------- 1 file changed, 16 insertions(+), 23 deletions(-) diff --git a/gui/graphFrame.py b/gui/graphFrame.py index 843033c5b..25e203371 100644 --- a/gui/graphFrame.py +++ b/gui/graphFrame.py @@ -19,7 +19,6 @@ import os import logging -import imp # noinspection PyPackageRequirements import wx @@ -32,12 +31,24 @@ from gui.graph import Graph from gui.bitmapLoader import BitmapLoader from config import parsePath -# Don't actually import the thing, since it takes for fucking ever try: - imp.find_module('matplotlib') + import matplotlib as mpl + + mpl_version = int(mpl.__version__[0]) + if mpl_version >= 2: + mpl.use('wxagg') + mplImported = True + else: + mplImported = False + from matplotlib.patches import Patch + + from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as Canvas + from matplotlib.figure import Figure + graphFrame_enabled = True mplImported = True except ImportError: + Patch = mpl = Canvas = Figure = None graphFrame_enabled = False mplImported = False @@ -51,25 +62,7 @@ class GraphFrame(wx.Frame): global graphFrame_enabled global mplImported - self.Patch = None - self.mpl_version = -1 - - try: - import matplotlib as mpl - self.mpl_version = int(mpl.__version__[0]) - if self.mpl_version >= 2: - mpl.use('wxagg') - mplImported = True - else: - mplImported = False - from matplotlib.patches import Patch - self.Patch = Patch - from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as Canvas - from matplotlib.figure import Figure - graphFrame_enabled = True - except ImportError: - Patch = mpl = Canvas = Figure = None - graphFrame_enabled = False + self.mpl_version = int(mpl.__version__[0]) self.legendFix = False if not graphFrame_enabled: @@ -282,7 +275,7 @@ class GraphFrame(wx.Frame): selected_color = legend_colors[i] except: selected_color = None - legend2.append(self.Patch(color=selected_color, label=i_name), ) + legend2.append(Patch(color=selected_color, label=i_name), ) if len(legend2) > 0: leg = self.subplot.legend(handles=legend2)