.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "gallery/mplot3d/view_planes_3d.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. meta:: :keywords: codex .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code .. rst-class:: sphx-glr-example-title .. _sphx_glr_gallery_mplot3d_view_planes_3d.py: ====================== Primary 3D view planes ====================== This example generates an "unfolded" 3D plot that shows each of the primary 3D view planes. The elevation, azimuth, and roll angles required for each view are labeled. You could print out this image and fold it into a box where each plane forms a side of the box. .. GENERATED FROM PYTHON SOURCE LINES 11-58 .. image-sg:: /gallery/mplot3d/images/sphx_glr_view_planes_3d_001.png :alt: view planes 3d :srcset: /gallery/mplot3d/images/sphx_glr_view_planes_3d_001.png, /gallery/mplot3d/images/sphx_glr_view_planes_3d_001_2_00x.png 2.00x :class: sphx-glr-single-img .. code-block:: Python import matplotlib.pyplot as plt def annotate_axes(ax, text, fontsize=18): ax.text(x=0.5, y=0.5, z=0.5, s=text, va="center", ha="center", fontsize=fontsize, color="black") # (plane, (elev, azim, roll)) views = [('XY', (90, -90, 0)), ('XZ', (0, -90, 0)), ('YZ', (0, 0, 0)), ('-XY', (-90, 90, 0)), ('-XZ', (0, 90, 0)), ('-YZ', (0, 180, 0))] layout = [['XY', '.', 'L', '.'], ['XZ', 'YZ', '-XZ', '-YZ'], ['.', '.', '-XY', '.']] fig, axd = plt.subplot_mosaic(layout, subplot_kw={'projection': '3d'}, figsize=(12, 8.5)) for plane, angles in views: axd[plane].set_xlabel('x') axd[plane].set_ylabel('y') axd[plane].set_zlabel('z') axd[plane].set_proj_type('ortho') axd[plane].view_init(elev=angles[0], azim=angles[1], roll=angles[2]) axd[plane].set_box_aspect(None, zoom=1.25) label = f'{plane}\n{angles}' annotate_axes(axd[plane], label, fontsize=14) for plane in ('XY', '-XY'): axd[plane].set_zticklabels([]) axd[plane].set_zlabel('') for plane in ('XZ', '-XZ'): axd[plane].set_yticklabels([]) axd[plane].set_ylabel('') for plane in ('YZ', '-YZ'): axd[plane].set_xticklabels([]) axd[plane].set_xlabel('') label = 'mplot3d primary view planes\n' + 'ax.view_init(elev, azim, roll)' annotate_axes(axd['L'], label, fontsize=18) axd['L'].set_axis_off() plt.show() .. _sphx_glr_download_gallery_mplot3d_view_planes_3d.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: view_planes_3d.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: view_planes_3d.py ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_