diff --git a/peakdet/editor.py b/peakdet/editor.py index c723ae4..e3cd0ba 100644 --- a/peakdet/editor.py +++ b/peakdet/editor.py @@ -3,10 +3,12 @@ import functools +import matplotlib import matplotlib.pyplot as plt import numpy as np from loguru import logger from matplotlib.widgets import SpanSelector +from packaging.version import Version from peakdet import operations, utils @@ -60,13 +62,20 @@ def __init__(self, data): delete = functools.partial(self.on_edit, method="delete") reject = functools.partial(self.on_edit, method="reject") insert = functools.partial(self.on_edit, method="insert") + + # Check matplotlib version rectprops is deprecated with matplotlib 3.5.0 and then obsolete + if Version(matplotlib.__version__) >= Version("3.5.0"): + property_name = "props" + else: + property_name = "rectprops" + self.span2 = SpanSelector( self.ax, delete, "horizontal", button=1, useblit=True, - rectprops=dict(facecolor="red", alpha=0.3), + **{property_name: dict(facecolor="red", alpha=0.3)}, ) self.span1 = SpanSelector( self.ax, @@ -74,7 +83,7 @@ def __init__(self, data): "horizontal", button=2, useblit=True, - rectprops=dict(facecolor="blue", alpha=0.3), + **{property_name: dict(facecolor="blue", alpha=0.3)}, ) self.span3 = SpanSelector( self.ax, @@ -82,7 +91,7 @@ def __init__(self, data): "horizontal", button=3, useblit=True, - rectprops=dict(facecolor="green", alpha=0.3), + **{property_name: dict(facecolor="green", alpha=0.3)}, ) self.plot_signals(False) diff --git a/setup.cfg b/setup.cfg index 411ee9f..4c40e59 100644 --- a/setup.cfg +++ b/setup.cfg @@ -21,7 +21,7 @@ provides = [options] python_requires = >=3.6.1 install_requires = - matplotlib >=3.1.1, <=3.6.3, !=3.3.0rc1 + matplotlib >=3.1.1 numpy >=1.9.3 scipy loguru