Change matplotlib to be imported at the top and not use the import hack. Slows down the startup times slightly, but much simpler.
This commit is contained in:
@@ -19,7 +19,6 @@
|
|||||||
|
|
||||||
import os
|
import os
|
||||||
import logging
|
import logging
|
||||||
import imp
|
|
||||||
|
|
||||||
# noinspection PyPackageRequirements
|
# noinspection PyPackageRequirements
|
||||||
import wx
|
import wx
|
||||||
@@ -32,12 +31,24 @@ from gui.graph import Graph
|
|||||||
from gui.bitmapLoader import BitmapLoader
|
from gui.bitmapLoader import BitmapLoader
|
||||||
from config import parsePath
|
from config import parsePath
|
||||||
|
|
||||||
# Don't actually import the thing, since it takes for fucking ever
|
|
||||||
try:
|
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
|
graphFrame_enabled = True
|
||||||
mplImported = True
|
mplImported = True
|
||||||
except ImportError:
|
except ImportError:
|
||||||
|
Patch = mpl = Canvas = Figure = None
|
||||||
graphFrame_enabled = False
|
graphFrame_enabled = False
|
||||||
mplImported = False
|
mplImported = False
|
||||||
|
|
||||||
@@ -51,25 +62,7 @@ class GraphFrame(wx.Frame):
|
|||||||
global graphFrame_enabled
|
global graphFrame_enabled
|
||||||
global mplImported
|
global mplImported
|
||||||
|
|
||||||
self.Patch = None
|
self.mpl_version = int(mpl.__version__[0])
|
||||||
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.legendFix = False
|
self.legendFix = False
|
||||||
if not graphFrame_enabled:
|
if not graphFrame_enabled:
|
||||||
@@ -282,7 +275,7 @@ class GraphFrame(wx.Frame):
|
|||||||
selected_color = legend_colors[i]
|
selected_color = legend_colors[i]
|
||||||
except:
|
except:
|
||||||
selected_color = None
|
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:
|
if len(legend2) > 0:
|
||||||
leg = self.subplot.legend(handles=legend2)
|
leg = self.subplot.legend(handles=legend2)
|
||||||
|
|||||||
Reference in New Issue
Block a user