diff --git a/README.md b/README.md index e021678..b309e72 100644 --- a/README.md +++ b/README.md @@ -162,7 +162,7 @@ to the list. ## Dependencies [Py-ART](https://github.com/ARM-DOE/pyart) >= 1.6 -[matplotlib](http://matplotlib.org) >= 1.1.0 +[matplotlib](http://matplotlib.org) >= 2.0.0 [Basemap](http://matplotlib.org/basemap) >= 0.99 diff --git a/artview/__init__.py b/artview/__init__.py index f355719..70fad31 100644 --- a/artview/__init__.py +++ b/artview/__init__.py @@ -51,10 +51,8 @@ import matplotlib if core.QtCore.__name__ == 'PyQt4.QtCore': matplotlib.use('Qt4Agg') - matplotlib.rcParams['backend.qt4'] = 'PyQt4' elif core.QtCore.__name__ == 'PyQt5.QtCore': matplotlib.use('Qt5Agg') - matplotlib.rcParams['backend.qt5'] = 'PyQt5' from . import components from . import plugins diff --git a/artview/components/cmap.py b/artview/components/cmap.py index 6217d99..2a0ff9d 100644 --- a/artview/components/cmap.py +++ b/artview/components/cmap.py @@ -8,9 +8,12 @@ import matplotlib.pyplot as plt from matplotlib.figure import Figure -from matplotlib.backends import pylab_setup -FigureCanvasQTAgg = pylab_setup()[0].FigureCanvasQTAgg -#from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg +from matplotlib.backends.qt_compat import is_pyqt5 +if is_pyqt5(): + from matplotlib.backends.backend_qt5agg import FigureCanvas +else: + from matplotlib.backends.backend_qt4agg import FigureCanvas + from matplotlib import colors import pyart @@ -288,4 +291,4 @@ def NewColormap(self, variable, strong): self.cmap = cmap self.plot() -_plugins = [ColormapEdit] \ No newline at end of file +_plugins = [ColormapEdit] diff --git a/artview/components/correlation.py b/artview/components/correlation.py index 58d1477..08f02fc 100644 --- a/artview/components/correlation.py +++ b/artview/components/correlation.py @@ -9,13 +9,14 @@ import os import pyart -from matplotlib.backends import pylab_setup -backend = pylab_setup()[0] -FigureCanvasQTAgg = backend.FigureCanvasQTAgg -NavigationToolbar = backend.NavigationToolbar2QT -#from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg -#from matplotlib.backends.backend_qt4agg import NavigationToolbar2QT as \ -# NavigationToolbar +from matplotlib.backends.qt_compat import is_pyqt5 +if is_pyqt5(): + from matplotlib.backends.backend_qt5agg import ( + FigureCanvas, NavigationToolbar2QT as NavigationToolbar) +else: + from matplotlib.backends.backend_qt4agg import ( + FigureCanvas, NavigationToolbar2QT as NavigationToolbar) + from matplotlib.figure import Figure from matplotlib.colors import Normalize as mlabNormalize from matplotlib.colorbar import ColorbarBase as mlabColorbarBase diff --git a/artview/components/plot_grid.py b/artview/components/plot_grid.py index f3826db..1ab2164 100644 --- a/artview/components/plot_grid.py +++ b/artview/components/plot_grid.py @@ -8,13 +8,14 @@ import os import pyart -from matplotlib.backends import pylab_setup -backend = pylab_setup()[0] -FigureCanvasQTAgg = backend.FigureCanvasQTAgg -NavigationToolbar = backend.NavigationToolbar2QT -#from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg -#from matplotlib.backends.backend_qt4agg import NavigationToolbar2QT as \ -# NavigationToolbar +from matplotlib.backends.qt_compat import is_pyqt5 +if is_pyqt5(): + from matplotlib.backends.backend_qt5agg import ( + FigureCanvas, NavigationToolbar2QT as NavigationToolbar) +else: + from matplotlib.backends.backend_qt4agg import ( + FigureCanvas, NavigationToolbar2QT as NavigationToolbar) + from matplotlib.figure import Figure from matplotlib.colors import Normalize as mlabNormalize from matplotlib.colorbar import ColorbarBase as mlabColorbarBase diff --git a/artview/components/plot_grid_legacy.py b/artview/components/plot_grid_legacy.py index 3f9b09d..38f6d88 100644 --- a/artview/components/plot_grid_legacy.py +++ b/artview/components/plot_grid_legacy.py @@ -8,13 +8,14 @@ import os import pyart -from matplotlib.backends import pylab_setup -backend = pylab_setup()[0] -FigureCanvasQTAgg = backend.FigureCanvasQTAgg -NavigationToolbar = backend.NavigationToolbar2QT -#from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg -#from matplotlib.backends.backend_qt4agg import NavigationToolbar2QT as \ -# NavigationToolbar +from matplotlib.backends.qt_compat import is_pyqt5 +if is_pyqt5(): + from matplotlib.backends.backend_qt5agg import ( + FigureCanvas, NavigationToolbar2QT as NavigationToolbar) +else: + from matplotlib.backends.backend_qt4agg import ( + FigureCanvas, NavigationToolbar2QT as NavigationToolbar) + from matplotlib.figure import Figure from matplotlib.colors import Normalize as mlabNormalize from matplotlib.colorbar import ColorbarBase as mlabColorbarBase diff --git a/artview/components/plot_points.py b/artview/components/plot_points.py index 15fdb73..abadd0b 100644 --- a/artview/components/plot_points.py +++ b/artview/components/plot_points.py @@ -8,13 +8,14 @@ import os import pyart -from matplotlib.backends import pylab_setup -backend = pylab_setup()[0] -FigureCanvasQTAgg = backend.FigureCanvasQTAgg -NavigationToolbar = backend.NavigationToolbar2QT -#from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg -#from matplotlib.backends.backend_qt4agg import NavigationToolbar2QT as \ -# NavigationToolbar +from matplotlib.backends.qt_compat import is_pyqt5 +if is_pyqt5(): + from matplotlib.backends.backend_qt5agg import ( + FigureCanvas, NavigationToolbar2QT as NavigationToolbar) +else: + from matplotlib.backends.backend_qt4agg import ( + FigureCanvas, NavigationToolbar2QT as NavigationToolbar) + from matplotlib.figure import Figure from matplotlib.colors import Normalize as mlabNormalize from matplotlib.colorbar import ColorbarBase as mlabColorbarBase diff --git a/artview/components/plot_radar.py b/artview/components/plot_radar.py index 8553dfb..7db3e37 100644 --- a/artview/components/plot_radar.py +++ b/artview/components/plot_radar.py @@ -9,13 +9,14 @@ import os import pyart -from matplotlib.backends import pylab_setup -backend = pylab_setup()[0] -FigureCanvasQTAgg = backend.FigureCanvasQTAgg -NavigationToolbar = backend.NavigationToolbar2QT -#from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg -#from matplotlib.backends.backend_qt4agg import NavigationToolbar2QT as \ -# NavigationToolbar +from matplotlib.backends.qt_compat import is_pyqt5 +if is_pyqt5(): + from matplotlib.backends.backend_qt5agg import ( + FigureCanvas, NavigationToolbar2QT as NavigationToolbar, FigureCanvasQTAgg) +else: + from matplotlib.backends.backend_qt4agg import ( + FigureCanvas, NavigationToolbar2QT as NavigationToolbar) + from matplotlib.figure import Figure from matplotlib.colors import Normalize as mlabNormalize from matplotlib.colorbar import ColorbarBase as mlabColorbarBase diff --git a/artview/components/plot_simple.py b/artview/components/plot_simple.py index f1a2fee..ae16868 100644 --- a/artview/components/plot_simple.py +++ b/artview/components/plot_simple.py @@ -8,13 +8,15 @@ import os import pyart -from matplotlib.backends import pylab_setup -backend = pylab_setup()[0] -FigureCanvasQTAgg = backend.FigureCanvasQTAgg -NavigationToolbar = backend.NavigationToolbar2QT -#from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg -#from matplotlib.backends.backend_qt4agg import NavigationToolbar2QT as \ -# NavigationToolbar + +from matplotlib.backends.qt_compat import is_pyqt5 +if is_pyqt5(): + from matplotlib.backends.backend_qt5agg import ( + FigureCanvas, NavigationToolbar2QT as NavigationToolbar) +else: + from matplotlib.backends.backend_qt4agg import ( + FigureCanvas, NavigationToolbar2QT as NavigationToolbar) + from matplotlib.figure import Figure from matplotlib.colors import Normalize as mlabNormalize from matplotlib.colorbar import ColorbarBase as mlabColorbarBase diff --git a/artview/core/core.py b/artview/core/core.py index e6dd8ba..0c46f21 100644 --- a/artview/core/core.py +++ b/artview/core/core.py @@ -7,11 +7,7 @@ # Load the needed packages # this should the only place with reference to PyQt4 -try: - from PyQt4 import QtGui, QtCore - QtWidgets = QtGui -except: - from PyQt5 import QtWidgets, QtCore, QtGui +from matplotlib.backends.qt_compat import QtCore, QtWidgets, QtGui import sys # lets add some magic for the documentation