.. note:: :class: sphx-glr-download-link-note Click :ref:`here ` to download the full example code .. rst-class:: sphx-glr-example-title .. _sphx_glr_gallery_images_contours_and_fields_shading_example.py: =============== Shading example =============== Example showing how to make shaded relief plots like Mathematica_ or `Generic Mapping Tools`_. .. _Mathematica: http://reference.wolfram.com/mathematica/ref/ReliefPlot.html .. _Generic Mapping Tools: https://gmt.soest.hawaii.edu/ .. code-block:: default import numpy as np from matplotlib import cbook import matplotlib.pyplot as plt from matplotlib.colors import LightSource def main(): # Test data x, y = np.mgrid[-5:5:0.05, -5:5:0.05] z = 5 * (np.sqrt(x**2 + y**2) + np.sin(x**2 + y**2)) with cbook.get_sample_data('jacksboro_fault_dem.npz') as file, \ np.load(file) as dem: elev = dem['elevation'] fig = compare(z, plt.cm.copper) fig.suptitle('HSV Blending Looks Best with Smooth Surfaces', y=0.95) fig = compare(elev, plt.cm.gist_earth, ve=0.05) fig.suptitle('Overlay Blending Looks Best with Rough Surfaces', y=0.95) plt.show() def compare(z, cmap, ve=1): # Create subplots and hide ticks fig, axs = plt.subplots(ncols=2, nrows=2) for ax in axs.flat: ax.set(xticks=[], yticks=[]) # Illuminate the scene from the northwest ls = LightSource(azdeg=315, altdeg=45) axs[0, 0].imshow(z, cmap=cmap) axs[0, 0].set(xlabel='Colormapped Data') axs[0, 1].imshow(ls.hillshade(z, vert_exag=ve), cmap='gray') axs[0, 1].set(xlabel='Illumination Intensity') rgb = ls.shade(z, cmap=cmap, vert_exag=ve, blend_mode='hsv') axs[1, 0].imshow(rgb) axs[1, 0].set(xlabel='Blend Mode: "hsv" (default)') rgb = ls.shade(z, cmap=cmap, vert_exag=ve, blend_mode='overlay') axs[1, 1].imshow(rgb) axs[1, 1].set(xlabel='Blend Mode: "overlay"') return fig if __name__ == '__main__': main() .. rst-class:: sphx-glr-horizontal * .. image:: /gallery/images_contours_and_fields/images/sphx_glr_shading_example_001.png :class: sphx-glr-multi-img * .. image:: /gallery/images_contours_and_fields/images/sphx_glr_shading_example_002.png :class: sphx-glr-multi-img ------------ References """""""""" The use of the following functions, methods and classes is shown in this example: .. code-block:: default import matplotlib matplotlib.colors.LightSource matplotlib.axes.Axes.imshow matplotlib.pyplot.imshow .. rst-class:: sphx-glr-script-out Out: .. code-block:: none .. _sphx_glr_download_gallery_images_contours_and_fields_shading_example.py: .. only :: html .. container:: sphx-glr-footer :class: sphx-glr-footer-example .. container:: sphx-glr-download :download:`Download Python source code: shading_example.py ` .. container:: sphx-glr-download :download:`Download Jupyter notebook: shading_example.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature Keywords: matplotlib code example, codex, python plot, pyplot `Gallery generated by Sphinx-Gallery `_