From 34636bfe2b9fa9dfa0eb6db6dc662c9b57fe79d6 Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Sat, 20 Nov 2021 08:28:56 +0100 Subject: [PATCH 1/2] FIX: don't double transpose xy for add-lines colorbar --- lib/matplotlib/colorbar.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/lib/matplotlib/colorbar.py b/lib/matplotlib/colorbar.py index e812550c46fd..226dd408c874 100644 --- a/lib/matplotlib/colorbar.py +++ b/lib/matplotlib/colorbar.py @@ -790,8 +790,6 @@ def add_lines(self, *args, **kwargs): xy[[2, 3], 1] += fac # back to axes units... xy = self.ax.transAxes.inverted().transform(inches.transform(xy)) - if self.orientation == 'horizontal': - xy = xy.T col.set_clip_path(mpath.Path(xy, closed=True), self.ax.transAxes) self.ax.add_collection(col) From 5525bbea1bb54c306d46eed27a1c781a0b7319be Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Sat, 20 Nov 2021 09:43:45 +0100 Subject: [PATCH 2/2] TST: add contour tests for horiz and vertical --- .../test_colorbar/contour_colorbar.png | Bin 0 -> 5171 bytes lib/matplotlib/tests/test_colorbar.py | 11 +++++++++++ 2 files changed, 11 insertions(+) create mode 100644 lib/matplotlib/tests/baseline_images/test_colorbar/contour_colorbar.png diff --git a/lib/matplotlib/tests/baseline_images/test_colorbar/contour_colorbar.png b/lib/matplotlib/tests/baseline_images/test_colorbar/contour_colorbar.png new file mode 100644 index 0000000000000000000000000000000000000000..bf084c30ddad7330861a9c16852ef7393df4747a GIT binary patch literal 5171 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 E1MG{YH2?qr literal 0 HcmV?d00001 diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py index b85726d9146b..1b14178c991d 100644 --- a/lib/matplotlib/tests/test_colorbar.py +++ b/lib/matplotlib/tests/test_colorbar.py @@ -185,6 +185,17 @@ def test_colorbar_positioning(use_gridspec): anchor=(0.8, 0.5), shrink=0.6, use_gridspec=use_gridspec) +@image_comparison(['contour_colorbar.png'], remove_text=True) +def test_contour_colorbar(): + fig, ax = plt.subplots(figsize=(4, 2)) + data = np.arange(1200).reshape(30, 40) - 500 + levels = np.array([0, 200, 400, 600, 800, 1000, 1200]) - 500 + + CS = ax.contour(data, levels=levels, extend='both') + fig.colorbar(CS, orientation='horizontal', extend='both') + fig.colorbar(CS, orientation='vertical') + + @image_comparison(['cbar_with_subplots_adjust.png'], remove_text=True, savefig_kwarg={'dpi': 40}) def test_gridspec_make_colorbar():