From e60d0808fe2cc54484f38a1302cf734a7a67d4f6 Mon Sep 17 00:00:00 2001 From: David Stansby Date: Mon, 13 Sep 2021 12:56:55 +0100 Subject: [PATCH] Rotate caps on polar errorbar plots --- .../next_whats_new/polar_errorbar_caps.rst | 4 +++ lib/matplotlib/axes/_axes.py | 28 +++++++++++++----- .../test_axes/errorbar_polar_caps.png | Bin 0 -> 56998 bytes lib/matplotlib/tests/test_axes.py | 10 +++++++ 4 files changed, 35 insertions(+), 7 deletions(-) create mode 100644 doc/users/next_whats_new/polar_errorbar_caps.rst create mode 100644 lib/matplotlib/tests/baseline_images/test_axes/errorbar_polar_caps.png diff --git a/doc/users/next_whats_new/polar_errorbar_caps.rst b/doc/users/next_whats_new/polar_errorbar_caps.rst new file mode 100644 index 000000000000..c73f0210cc71 --- /dev/null +++ b/doc/users/next_whats_new/polar_errorbar_caps.rst @@ -0,0 +1,4 @@ +Polar errorbar caps are rotated +------------------------------- +When plotting errorbars on a polar plot, the caps are now rotated so they are +perpendicular to the errorbars. diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index b8a7c3b2c6bb..c43c847c9946 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -3439,10 +3439,11 @@ def _upcast_err(err): eb_cap_style['color'] = ecolor barcols = [] - caplines = [] + caplines = {'x': [], 'y': []} # Vectorized fancy-indexer. - def apply_mask(arrays, mask): return [array[mask] for array in arrays] + def apply_mask(arrays, mask): + return [array[mask] for array in arrays] # dep: dependent dataset, indep: independent dataset for (dep_axis, dep, err, lolims, uplims, indep, lines_func, @@ -3486,7 +3487,7 @@ def apply_mask(arrays, mask): return [array[mask] for array in arrays] line = mlines.Line2D(indep_masked, indep_masked, marker=marker, **eb_cap_style) line.set(**{f"{dep_axis}data": lh_masked}) - caplines.append(line) + caplines[dep_axis].append(line) for idx, (lims, hl) in enumerate([(lolims, high), (uplims, low)]): if not lims.any(): continue @@ -3500,15 +3501,28 @@ def apply_mask(arrays, mask): return [array[mask] for array in arrays] line = mlines.Line2D(x_masked, y_masked, marker=hlmarker, **eb_cap_style) line.set(**{f"{dep_axis}data": hl_masked}) - caplines.append(line) + caplines[dep_axis].append(line) if capsize > 0: - caplines.append(mlines.Line2D( + caplines[dep_axis].append(mlines.Line2D( x_masked, y_masked, marker=marker, **eb_cap_style)) - for l in caplines: - self.add_line(l) + for axis in caplines: + for l in caplines[axis]: + if self.name == 'polar': + # Rotate caps to be perpendicular to the error bars + for theta, r in zip(l.get_xdata(), l.get_ydata()): + rotation = theta + if axis == 'x': + rotation += np.pi / 2 + ms = mmarkers.MarkerStyle(marker=marker) + ms._transform = mtransforms.Affine2D().rotate(rotation) + self.add_line(mlines.Line2D([theta], [r], marker=ms, + **eb_cap_style)) + else: + self.add_line(l) self._request_autoscale_view() + caplines = caplines['x'] + caplines['y'] errorbar_container = ErrorbarContainer( (data_line, tuple(caplines), tuple(barcols)), has_xerr=(xerr is not None), has_yerr=(yerr is not None), diff --git a/lib/matplotlib/tests/baseline_images/test_axes/errorbar_polar_caps.png b/lib/matplotlib/tests/baseline_images/test_axes/errorbar_polar_caps.png new file mode 100644 index 0000000000000000000000000000000000000000..b11485526e6c1df0e98ed13e20ab4a77057a48dd GIT binary patch literal 56998 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

hLkk1StzMX(rULqn1 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