.. 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 Click :ref:`here ` 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_0x.png 2.0x :class: sphx-glr-single-img .. code-block:: default 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-python :download:`Download Python source code: view_planes_3d.py ` .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: view_planes_3d.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_