diff --git a/setup.cfg b/setup.cfg index b962611d..6489abde 100644 --- a/setup.cfg +++ b/setup.cfg @@ -27,7 +27,7 @@ project_urls = [options] packages = find: install_requires = - matplotlib<3.8 + matplotlib napari numpy tinycss2 diff --git a/src/napari_matplotlib/base.py b/src/napari_matplotlib/base.py index 21b4a044..0ff5e389 100644 --- a/src/napari_matplotlib/base.py +++ b/src/napari_matplotlib/base.py @@ -5,8 +5,8 @@ import matplotlib import matplotlib.style as mplstyle import napari -from matplotlib.backends.backend_qtagg import ( - FigureCanvas, +from matplotlib.backends.backend_qtagg import ( # type: ignore[attr-defined] + FigureCanvasQTAgg, NavigationToolbar2QT, ) from matplotlib.figure import Figure @@ -49,12 +49,10 @@ def __init__( # Sets figure.* style with mplstyle.context(self.mpl_style_sheet_path): - self.canvas = FigureCanvas() + self.canvas = FigureCanvasQTAgg() # type: ignore[no-untyped-call] self.canvas.figure.set_layout_engine("constrained") - self.toolbar = NapariNavigationToolbar( - self.canvas, parent=self - ) # type: ignore[no-untyped-call] + self.toolbar = NapariNavigationToolbar(self.canvas, parent=self) self._replace_toolbar_icons() # callback to update when napari theme changed # TODO: this isn't working completely (see issue #140) @@ -97,7 +95,7 @@ def add_single_axes(self) -> None: # Sets axes.* style. # Does not set any text styling set by axes.* keys with mplstyle.context(self.mpl_style_sheet_path): - self.axes = self.figure.subplots() + self.axes = self.figure.add_subplot() def _on_napari_theme_changed(self) -> None: """ @@ -260,7 +258,7 @@ def _draw(self) -> None: isinstance(layer, self.input_layer_types) for layer in self.layers ): self.draw() - self.canvas.draw() + self.canvas.draw() # type: ignore[no-untyped-call] def clear(self) -> None: """ @@ -309,8 +307,8 @@ def clear(self) -> None: class NapariNavigationToolbar(NavigationToolbar2QT): """Custom Toolbar style for Napari.""" - def __init__(self, *args, **kwargs): # type: ignore[no-untyped-def] - super().__init__(*args, **kwargs) + def __init__(self, *args, **kwargs) -> None: # type: ignore[no-untyped-def] + super().__init__(*args, **kwargs) # type: ignore[no-untyped-call] self.setIconSize( from_napari_css_get_size_of( "QtViewerPushButton", fallback=(28, 28) @@ -319,7 +317,7 @@ def __init__(self, *args, **kwargs): # type: ignore[no-untyped-def] def _update_buttons_checked(self) -> None: """Update toggle tool icons when selected/unselected.""" - super()._update_buttons_checked() + super()._update_buttons_checked() # type: ignore[no-untyped-call] icon_dir = self.parentWidget()._get_path_to_icon() # changes pan/zoom icons depending on state (checked or not) diff --git a/src/napari_matplotlib/tests/baseline/test_custom_theme.png b/src/napari_matplotlib/tests/baseline/test_custom_theme.png index c3858522..a668c103 100644 Binary files a/src/napari_matplotlib/tests/baseline/test_custom_theme.png and b/src/napari_matplotlib/tests/baseline/test_custom_theme.png differ diff --git a/src/napari_matplotlib/tests/baseline/test_feature_histogram2.png b/src/napari_matplotlib/tests/baseline/test_feature_histogram2.png index b7bb19e0..c53a890c 100644 Binary files a/src/napari_matplotlib/tests/baseline/test_feature_histogram2.png and b/src/napari_matplotlib/tests/baseline/test_feature_histogram2.png differ diff --git a/src/napari_matplotlib/tests/baseline/test_histogram_2D.png b/src/napari_matplotlib/tests/baseline/test_histogram_2D.png index b76d1e10..b043bba8 100644 Binary files a/src/napari_matplotlib/tests/baseline/test_histogram_2D.png and b/src/napari_matplotlib/tests/baseline/test_histogram_2D.png differ diff --git a/src/napari_matplotlib/tests/baseline/test_histogram_3D.png b/src/napari_matplotlib/tests/baseline/test_histogram_3D.png index 2dffdcb2..724314e1 100644 Binary files a/src/napari_matplotlib/tests/baseline/test_histogram_3D.png and b/src/napari_matplotlib/tests/baseline/test_histogram_3D.png differ diff --git a/src/napari_matplotlib/tests/baseline/test_slice_2D.png b/src/napari_matplotlib/tests/baseline/test_slice_2D.png index ee3ce3b6..d39920be 100644 Binary files a/src/napari_matplotlib/tests/baseline/test_slice_2D.png and b/src/napari_matplotlib/tests/baseline/test_slice_2D.png differ diff --git a/src/napari_matplotlib/tests/baseline/test_slice_3D.png b/src/napari_matplotlib/tests/baseline/test_slice_3D.png index c30211da..cf563de5 100644 Binary files a/src/napari_matplotlib/tests/baseline/test_slice_3D.png and b/src/napari_matplotlib/tests/baseline/test_slice_3D.png differ diff --git a/src/napari_matplotlib/tests/scatter/baseline/test_features_scatter_widget_2D.png b/src/napari_matplotlib/tests/scatter/baseline/test_features_scatter_widget_2D.png index 269ebd01..75965607 100644 Binary files a/src/napari_matplotlib/tests/scatter/baseline/test_features_scatter_widget_2D.png and b/src/napari_matplotlib/tests/scatter/baseline/test_features_scatter_widget_2D.png differ diff --git a/src/napari_matplotlib/tests/scatter/baseline/test_scatter_2D.png b/src/napari_matplotlib/tests/scatter/baseline/test_scatter_2D.png index f96b5354..10219106 100644 Binary files a/src/napari_matplotlib/tests/scatter/baseline/test_scatter_2D.png and b/src/napari_matplotlib/tests/scatter/baseline/test_scatter_2D.png differ diff --git a/src/napari_matplotlib/tests/scatter/baseline/test_scatter_3D.png b/src/napari_matplotlib/tests/scatter/baseline/test_scatter_3D.png index 27e7d673..3e648eec 100644 Binary files a/src/napari_matplotlib/tests/scatter/baseline/test_scatter_3D.png and b/src/napari_matplotlib/tests/scatter/baseline/test_scatter_3D.png differ diff --git a/src/napari_matplotlib/tests/test_theme.py b/src/napari_matplotlib/tests/test_theme.py index 2a340c89..1042d3f3 100644 --- a/src/napari_matplotlib/tests/test_theme.py +++ b/src/napari_matplotlib/tests/test_theme.py @@ -187,6 +187,6 @@ def test_custom_stylesheet(make_napari_viewer, image_data): assert widget.figure.patch.get_facecolor() == to_rgba("#fdf6e3") for gridline in ax.get_xgridlines() + ax.get_ygridlines(): assert gridline.get_visible() is True - assert gridline.get_color() == "#fdf6e3" + assert gridline.get_color() == "#b0b0b0" finally: os.remove(style_sheet_path)