From 0b18f8f24419ebaba7df7363df36a6fde78f1b78 Mon Sep 17 00:00:00 2001 From: Joseph Albert Date: Thu, 9 Feb 2017 19:49:49 -0500 Subject: [PATCH 1/2] Fixed Axes.set_yscale and Axes.set_xscale so it has the same default clipping behavior as plt.semilogy(), plt.semilogx() plt.loglog() when handing non-positive data. --- lib/matplotlib/axes/_base.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index 61b161642fef..0ea58683e6d4 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -2983,7 +2983,7 @@ def set_xscale(self, value, **kwargs): # If the scale is being set to log, clip nonposx to prevent headaches # around zero if value.lower() == 'log' and 'nonposx' not in kwargs: - kwargs['nonposx'] = 'clip' + kwargs['nonposx'] = 'mask' g = self.get_shared_x_axes() for ax in g.get_siblings(self): @@ -3277,7 +3277,7 @@ def set_yscale(self, value, **kwargs): # If the scale is being set to log, clip nonposy to prevent headaches # around zero if value.lower() == 'log' and 'nonposy' not in kwargs: - kwargs['nonposy'] = 'clip' + kwargs['nonposy'] = 'mask' g = self.get_shared_y_axes() for ax in g.get_siblings(self): From 8c27e99b96194f58ebb7a8e826ff748799f36572 Mon Sep 17 00:00:00 2001 From: David Stansby Date: Tue, 25 Apr 2017 19:53:12 -0700 Subject: [PATCH 2/2] Update log scales test image --- .../baseline_images/test_axes/log_scales.png | Bin 13681 -> 13712 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/matplotlib/tests/baseline_images/test_axes/log_scales.png b/lib/matplotlib/tests/baseline_images/test_axes/log_scales.png index 876b47caedb6f53a02eb9dd4f84da942810821b7..77ca4663386b6f25e8d1ece0c1c038adaa4f0d10 100644 GIT binary patch literal 13712 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