From 040649d552b81f797fb838cc47d1b333ab8b7b6a Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Wed, 31 Mar 2021 00:56:06 -0400 Subject: [PATCH] Backport PR #19812: FIX: size and color rendering for Path3DCollection --- lib/mpl_toolkits/mplot3d/art3d.py | 257 ++++++++---------- .../test_mplot3d/scatter_spiral.png | Bin 0 -> 99724 bytes lib/mpl_toolkits/tests/test_mplot3d.py | 13 + 3 files changed, 119 insertions(+), 151 deletions(-) create mode 100644 lib/mpl_toolkits/tests/baseline_images/test_mplot3d/scatter_spiral.png diff --git a/lib/mpl_toolkits/mplot3d/art3d.py b/lib/mpl_toolkits/mplot3d/art3d.py index 822ff79fcc24..a521263a62f2 100644 --- a/lib/mpl_toolkits/mplot3d/art3d.py +++ b/lib/mpl_toolkits/mplot3d/art3d.py @@ -302,8 +302,6 @@ def do_3d_projection(self, renderer=None): """ Project the points according to renderer matrix. """ - # see _update_scalarmappable docstring for why this must be here - _update_scalarmappable(self) xyslist = [proj3d.proj_trans_points(points, self.axes.M) for points in self._segments3d] segments_2d = [np.column_stack([xs, ys]) for xs, ys, zs in xyslist] @@ -448,16 +446,6 @@ def set_depthshade(self, depthshade): self._depthshade = depthshade self.stale = True - def set_facecolor(self, c): - # docstring inherited - super().set_facecolor(c) - self._facecolor3d = self.get_facecolor() - - def set_edgecolor(self, c): - # docstring inherited - super().set_edgecolor(c) - self._edgecolor3d = self.get_edgecolor() - def set_sort_zpos(self, val): """Set the position to use for z-sorting.""" self._sort_zpos = val @@ -474,27 +462,15 @@ def set_3d_properties(self, zs, zdir): xs = [] ys = [] self._offsets3d = juggle_axes(xs, ys, np.atleast_1d(zs), zdir) - self._facecolor3d = self.get_facecolor() - self._edgecolor3d = self.get_edgecolor() + self._vzs = None self.stale = True @_api.delete_parameter('3.4', 'renderer') def do_3d_projection(self, renderer=None): - # see _update_scalarmappable docstring for why this must be here - _update_scalarmappable(self) xs, ys, zs = self._offsets3d vxs, vys, vzs, vis = proj3d.proj_transform_clip(xs, ys, zs, self.axes.M) - - fcs = (_zalpha(self._facecolor3d, vzs) if self._depthshade else - self._facecolor3d) - fcs = mcolors.to_rgba_array(fcs, self._alpha) - super().set_facecolor(fcs) - - ecs = (_zalpha(self._edgecolor3d, vzs) if self._depthshade else - self._edgecolor3d) - ecs = mcolors.to_rgba_array(ecs, self._alpha) - super().set_edgecolor(ecs) + self._vzs = vzs super().set_offsets(np.column_stack([vxs, vys])) if vzs.size > 0: @@ -502,6 +478,27 @@ def do_3d_projection(self, renderer=None): else: return np.nan + def _maybe_depth_shade_and_sort_colors(self, color_array): + color_array = ( + _zalpha(color_array, self._vzs) + if self._vzs is not None and self._depthshade + else color_array + ) + if len(color_array) > 1: + color_array = color_array[self._z_markers_idx] + return mcolors.to_rgba_array(color_array, self._alpha) + + def get_facecolor(self): + return self._maybe_depth_shade_and_sort_colors(super().get_facecolor()) + + def get_edgecolor(self): + # We need this check here to make sure we do not double-apply the depth + # based alpha shading when the edge color is "face" which means the + # edge colour should be identical to the face colour. + if cbook._str_equal(self._edgecolors, 'face'): + return self.get_facecolor() + return self._maybe_depth_shade_and_sort_colors(super().get_edgecolor()) + class Path3DCollection(PathCollection): """ @@ -525,9 +522,14 @@ def __init__(self, *args, zs=0, zdir='z', depthshade=True, **kwargs): This is typically desired in scatter plots. """ self._depthshade = depthshade + self._in_draw = False super().__init__(*args, **kwargs) self.set_3d_properties(zs, zdir) + def draw(self, renderer): + with cbook._setattr_cm(self, _in_draw=True): + super().draw(renderer) + def set_sort_zpos(self, val): """Set the position to use for z-sorting.""" self._sort_zpos = val @@ -544,12 +546,37 @@ def set_3d_properties(self, zs, zdir): xs = [] ys = [] self._offsets3d = juggle_axes(xs, ys, np.atleast_1d(zs), zdir) - self._facecolor3d = self.get_facecolor() - self._edgecolor3d = self.get_edgecolor() - self._sizes3d = self.get_sizes() - self._linewidth3d = self.get_linewidth() + # In the base draw methods we access the attributes directly which + # means we can not resolve the shuffling in the getter methods like + # we do for the edge and face colors. + # + # This means we need to carry around a cache of the unsorted sizes and + # widths (postfixed with 3d) and in `do_3d_projection` set the + # depth-sorted version of that data into the private state used by the + # base collection class in its draw method. + # + # Grab the current sizes and linewidths to preserve them. + self._sizes3d = self._sizes + self._linewidths3d = self._linewidths + xs, ys, zs = self._offsets3d + + # Sort the points based on z coordinates + # Performance optimization: Create a sorted index array and reorder + # points and point properties according to the index array + self._z_markers_idx = slice(-1) + self._vzs = None self.stale = True + def set_sizes(self, sizes, dpi=72.0): + super().set_sizes(sizes, dpi) + if not self._in_draw: + self._sizes3d = sizes + + def set_linewidth(self, lw): + super().set_linewidth(lw) + if not self._in_draw: + self._linewidth3d = lw + def get_depthshade(self): return self._depthshade @@ -566,142 +593,57 @@ def set_depthshade(self, depthshade): self._depthshade = depthshade self.stale = True - def set_facecolor(self, c): - # docstring inherited - super().set_facecolor(c) - self._facecolor3d = self.get_facecolor() - - def set_edgecolor(self, c): - # docstring inherited - super().set_edgecolor(c) - self._edgecolor3d = self.get_edgecolor() - - def set_sizes(self, sizes, dpi=72.0): - # docstring inherited - super().set_sizes(sizes, dpi=dpi) - self._sizes3d = self.get_sizes() - - def set_linewidth(self, lw): - # docstring inherited - super().set_linewidth(lw) - self._linewidth3d = self.get_linewidth() - @_api.delete_parameter('3.4', 'renderer') def do_3d_projection(self, renderer=None): - # see _update_scalarmappable docstring for why this must be here - _update_scalarmappable(self) xs, ys, zs = self._offsets3d vxs, vys, vzs, vis = proj3d.proj_transform_clip(xs, ys, zs, self.axes.M) - - fcs = (_zalpha(self._facecolor3d, vzs) if self._depthshade else - self._facecolor3d) - ecs = (_zalpha(self._edgecolor3d, vzs) if self._depthshade else - self._edgecolor3d) - sizes = self._sizes3d - lws = self._linewidth3d - # Sort the points based on z coordinates # Performance optimization: Create a sorted index array and reorder # points and point properties according to the index array - z_markers_idx = np.argsort(vzs)[::-1] + z_markers_idx = self._z_markers_idx = np.argsort(vzs)[::-1] + self._vzs = vzs + + # we have to special case the sizes because of code in collections.py + # as the draw method does + # self.set_sizes(self._sizes, self.figure.dpi) + # so we can not rely on doing the sorting on the way out via get_* + + if len(self._sizes3d) > 1: + self._sizes = self._sizes3d[z_markers_idx] + + if len(self._linewidths3d) > 1: + self._linewidths = self._linewidths3d[z_markers_idx] # Re-order items vzs = vzs[z_markers_idx] vxs = vxs[z_markers_idx] vys = vys[z_markers_idx] - if len(fcs) > 1: - fcs = fcs[z_markers_idx] - if len(ecs) > 1: - ecs = ecs[z_markers_idx] - if len(sizes) > 1: - sizes = sizes[z_markers_idx] - if len(lws) > 1: - lws = lws[z_markers_idx] - vps = np.column_stack((vxs, vys)) - - fcs = mcolors.to_rgba_array(fcs, self._alpha) - ecs = mcolors.to_rgba_array(ecs, self._alpha) - - super().set_edgecolor(ecs) - super().set_facecolor(fcs) - super().set_sizes(sizes) - super().set_linewidth(lws) - - PathCollection.set_offsets(self, vps) - return np.min(vzs) if vzs.size else np.nan + PathCollection.set_offsets(self, np.column_stack((vxs, vys))) + return np.min(vzs) if vzs.size else np.nan -def _update_scalarmappable(sm): - """ - Update a 3D ScalarMappable. - - With ScalarMappable objects if the data, colormap, or norm are - changed, we need to update the computed colors. This is handled - by the base class method update_scalarmappable. This method works - by detecting if work needs to be done, and if so stashing it on - the ``self._facecolors`` attribute. - - With 3D collections we internally sort the components so that - things that should be "in front" are rendered later to simulate - having a z-buffer (in addition to doing the projections). This is - handled in the ``do_3d_projection`` methods which are called from the - draw method of the 3D Axes. These methods: - - - do the projection from 3D -> 2D - - internally sort based on depth - - stash the results of the above in the 2D analogs of state - - return the z-depth of the whole artist - - the last step is so that we can, at the Axes level, sort the children by - depth. - - The base `draw` method of the 2D artists unconditionally calls - update_scalarmappable and rely on the method's internal caching logic to - lazily evaluate. - - These things together mean you can have the sequence of events: - - - we create the artist, do the color mapping and stash the results - in a 3D specific state. - - change something about the ScalarMappable that marks it as in - need of an update (`ScalarMappable.changed` and friends). - - We call do_3d_projection and shuffle the stashed colors into the - 2D version of face colors - - the draw method calls the update_scalarmappable method which - overwrites our shuffled colors - - we get a render that is wrong - - if we re-render (either with a second save or implicitly via - tight_layout / constrained_layout / bbox_inches='tight' (ex via - inline's defaults)) we again shuffle the 3D colors - - because the CM is not marked as changed update_scalarmappable is - a no-op and we get a correct looking render. - - This function is an internal helper to: - - - sort out if we need to do the color mapping at all (has data!) - - sort out if update_scalarmappable is going to be a no-op - - copy the data over from the 2D -> 3D version - - This must be called first thing in do_3d_projection to make sure that - the correct colors get shuffled. + def _maybe_depth_shade_and_sort_colors(self, color_array): + color_array = ( + _zalpha(color_array, self._vzs) + if self._vzs is not None and self._depthshade + else color_array + ) + if len(color_array) > 1: + color_array = color_array[self._z_markers_idx] + return mcolors.to_rgba_array(color_array, self._alpha) - Parameters - ---------- - sm : ScalarMappable - The ScalarMappable to update and stash the 3D data from + def get_facecolor(self): + return self._maybe_depth_shade_and_sort_colors(super().get_facecolor()) - """ - if sm._A is None: - return - copy_state = sm._update_dict['array'] - ret = sm.update_scalarmappable() - if copy_state: - if sm._face_is_mapped: - sm._facecolor3d = sm._facecolors - elif sm._edge_is_mapped: # Should this be plain "if"? - sm._edgecolor3d = sm._edgecolors + def get_edgecolor(self): + # We need this check here to make sure we do not double-apply the depth + # based alpha shading when the edge color is "face" which means the + # edge colour should be identical to the face colour. + if cbook._str_equal(self._edgecolors, 'face'): + return self.get_facecolor() + return self._maybe_depth_shade_and_sort_colors(super().get_edgecolor()) def patch_collection_2d_to_3d(col, zs=0, zdir='z', depthshade=True): @@ -727,6 +669,7 @@ def patch_collection_2d_to_3d(col, zs=0, zdir='z', depthshade=True): elif isinstance(col, PatchCollection): col.__class__ = Patch3DCollection col._depthshade = depthshade + col._in_draw = False col.set_3d_properties(zs, zdir) @@ -841,9 +784,21 @@ def do_3d_projection(self, renderer=None): """ Perform the 3D projection for this object. """ - # see _update_scalarmappable docstring for why this must be here - _update_scalarmappable(self) - + if self._A is not None: + # force update of color mapping because we re-order them + # below. If we do not do this here, the 2D draw will call + # this, but we will never port the color mapped values back + # to the 3D versions. + # + # We hold the 3D versions in a fixed order (the order the user + # passed in) and sort the 2D version by view depth. + copy_state = self._update_dict['array'] + self.update_scalarmappable() + if copy_state: + if self._face_is_mapped: + self._facecolor3d = self._facecolors + if self._edge_is_mapped: + self._edgecolor3d = self._edgecolors txs, tys, tzs = proj3d._proj_transform_vec(self._vec, self.axes.M) xyzlist = [(txs[sl], tys[sl], tzs[sl]) for sl in self._segslices] diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/scatter_spiral.png b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/scatter_spiral.png new file mode 100644 index 0000000000000000000000000000000000000000..134e75e170cc22fdf5b0c586f635293aabe87a07 GIT binary patch literal 99724 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
;_eSu@&hWG6b_)O+BY` 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 z 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 literal 0 HcmV?d00001 diff --git a/lib/mpl_toolkits/tests/test_mplot3d.py b/lib/mpl_toolkits/tests/test_mplot3d.py index f55edaa4aa1f..65049f5f9835 100644 --- a/lib/mpl_toolkits/tests/test_mplot3d.py +++ b/lib/mpl_toolkits/tests/test_mplot3d.py @@ -1427,3 +1427,16 @@ def test_subfigure_simple(): sf = fig.subfigures(1, 2) ax = sf[0].add_subplot(1, 1, 1, projection='3d') ax = sf[1].add_subplot(1, 1, 1, projection='3d', label='other') + + +@image_comparison(baseline_images=['scatter_spiral.png'], + remove_text=True, + style='default') +def test_scatter_spiral(): + fig = plt.figure() + ax = fig.add_subplot(projection='3d') + th = np.linspace(0, 2 * np.pi * 6, 256) + sc = ax.scatter(np.sin(th), np.cos(th), th, s=(1 + th * 5), c=th ** 2) + + # force at least 1 draw! + fig.canvas.draw()