diff --git a/lib/mpl_toolkits/mplot3d/axes3d.py b/lib/mpl_toolkits/mplot3d/axes3d.py index 07932f6cc62d..65e6fa422207 100644 --- a/lib/mpl_toolkits/mplot3d/axes3d.py +++ b/lib/mpl_toolkits/mplot3d/axes3d.py @@ -1774,14 +1774,21 @@ def _shade_colors(self, color, normals, lightsource=None): mask = ~np.isnan(shade) if mask.any(): - norm = Normalize(min(shade[mask]), max(shade[mask])) - shade[~mask] = min(shade[mask]) + # convert dot product to allowed shading fractions + in_norm = Normalize(-1, 1) + out_norm = Normalize(0.3, 1).inverse + + def norm(x): + return out_norm(in_norm(x)) + + shade[~mask] = 0 + color = mcolors.to_rgba_array(color) # shape of color should be (M, 4) (where M is number of faces) # shape of shade should be (M,) # colors should have final shape of (M, 4) alpha = color[:, 3] - colors = (0.5 + norm(shade)[:, np.newaxis] * 0.5) * color + colors = norm(shade)[:, np.newaxis] * color colors[:, 3] = alpha else: colors = np.asanyarray(color).copy() diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/bar3d_shaded.png b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/bar3d_shaded.png index f35d62c15513..b1f7aa9a618c 100644 Binary files a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/bar3d_shaded.png and b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/bar3d_shaded.png differ diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/mixedsubplot.pdf b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/mixedsubplot.pdf index e1c698f57688..ff10099faf85 100644 Binary files a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/mixedsubplot.pdf and b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/mixedsubplot.pdf differ diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/mixedsubplot.png b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/mixedsubplot.png index aacdcd70eba8..fbfadeeb621d 100644 Binary files a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/mixedsubplot.png and b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/mixedsubplot.png differ diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/surface3d_shaded.png b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/surface3d_shaded.png index 56bc9db7ec96..cb7cfef84297 100644 Binary files a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/surface3d_shaded.png and b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/surface3d_shaded.png differ diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/trisurf3d_shaded.png b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/trisurf3d_shaded.png index 9faa9d915349..426baa4278fc 100644 Binary files a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/trisurf3d_shaded.png and b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/trisurf3d_shaded.png differ
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: