diff --git a/setup.cfg b/setup.cfg
index fbdb0f40..ddf3862b 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -56,6 +56,7 @@ testing =
     napari[pyqt5]
     pytest
     pytest-cov
+    pytest-mpl
     pytest-qt
     tox
     pytest-xvfb;sys_platform == 'linux'
diff --git a/src/napari_matplotlib/base.py b/src/napari_matplotlib/base.py
index a980a834..fcd60c53 100644
--- a/src/napari_matplotlib/base.py
+++ b/src/napari_matplotlib/base.py
@@ -48,6 +48,7 @@ def __init__(self, napari_viewer: napari.viewer.Viewer):
 
         self.viewer = napari_viewer
         self.canvas = FigureCanvas()
+        self.canvas.widget = self
 
         self.canvas.figure.patch.set_facecolor("none")
         self.canvas.figure.set_layout_engine("constrained")
diff --git a/src/napari_matplotlib/tests/baseline/test_example_q_widget.png b/src/napari_matplotlib/tests/baseline/test_example_q_widget.png
new file mode 100644
index 00000000..5b3dcd94
Binary files /dev/null and b/src/napari_matplotlib/tests/baseline/test_example_q_widget.png differ
diff --git a/src/napari_matplotlib/tests/conftest.py b/src/napari_matplotlib/tests/conftest.py
index 274f1226..f40e5120 100644
--- a/src/napari_matplotlib/tests/conftest.py
+++ b/src/napari_matplotlib/tests/conftest.py
@@ -1,5 +1,6 @@
 import numpy as np
 import pytest
+from skimage import data
 
 
 @pytest.fixture(
@@ -11,3 +12,8 @@
 )
 def image_data(request):
     return np.ones(request.param[0]), request.param[1]
+
+
+@pytest.fixture
+def astronaut_data():
+    return data.astronaut(), {"rgb": True}
diff --git a/src/napari_matplotlib/tests/test_histogram.py b/src/napari_matplotlib/tests/test_histogram.py
index f497a1a9..6468a8a7 100644
--- a/src/napari_matplotlib/tests/test_histogram.py
+++ b/src/napari_matplotlib/tests/test_histogram.py
@@ -1,8 +1,12 @@
+import pytest
+
 from napari_matplotlib import HistogramWidget
 
 
-def test_example_q_widget(make_napari_viewer, image_data):
+@pytest.mark.mpl_image_compare
+def test_example_q_widget(make_napari_viewer, astronaut_data):
     # Smoke test adding a histogram widget
     viewer = make_napari_viewer()
-    viewer.add_image(image_data[0], **image_data[1])
-    HistogramWidget(viewer)
+    viewer.add_image(astronaut_data[0], **astronaut_data[1])
+    fig = HistogramWidget(viewer).figure
+    return fig
diff --git a/tox.ini b/tox.ini
index 0e084df6..d8d4798a 100644
--- a/tox.ini
+++ b/tox.ini
@@ -11,4 +11,4 @@ python =
 
 [testenv]
 extras = testing
-commands = python -m pytest -v --color=yes --cov=napari_matplotlib --cov-report=xml
+commands = python -m pytest --mpl -v --color=yes --cov=napari_matplotlib --cov-report=xml