.. note::
    :class: sphx-glr-download-link-note

    Click :ref:`here <sphx_glr_download_gallery_mplot3d_offset.py>` to download the full example code
.. rst-class:: sphx-glr-example-title

.. _sphx_glr_gallery_mplot3d_offset.py:


=========================
Automatic Text Offsetting
=========================

This example demonstrates mplot3d's offset text display.
As one rotates the 3D figure, the offsets should remain oriented the
same way as the axis label, and should also be located "away"
from the center of the plot.

This demo triggers the display of the offset text for the x and
y axis by adding 1e5 to X and Y. Anything less would not
automatically trigger it.




.. image:: /gallery/mplot3d/images/sphx_glr_offset_001.png
    :class: sphx-glr-single-img





.. code-block:: python


    # This import registers the 3D projection, but is otherwise unused.
    from mpl_toolkits.mplot3d import Axes3D  # noqa: F401 unused import

    import matplotlib.pyplot as plt
    import numpy as np


    fig = plt.figure()
    ax = fig.gca(projection='3d')

    X, Y = np.mgrid[0:6*np.pi:0.25, 0:4*np.pi:0.25]
    Z = np.sqrt(np.abs(np.cos(X) + np.cos(Y)))

    ax.plot_surface(X + 1e5, Y + 1e5, Z, cmap='autumn', cstride=2, rstride=2)

    ax.set_xlabel("X label")
    ax.set_ylabel("Y label")
    ax.set_zlabel("Z label")
    ax.set_zlim(0, 2)

    plt.show()


.. _sphx_glr_download_gallery_mplot3d_offset.py:


.. only :: html

 .. container:: sphx-glr-footer
    :class: sphx-glr-footer-example



  .. container:: sphx-glr-download

     :download:`Download Python source code: offset.py <offset.py>`



  .. container:: sphx-glr-download

     :download:`Download Jupyter notebook: offset.ipynb <offset.ipynb>`


.. only:: html

 .. rst-class:: sphx-glr-signature

    Keywords: matplotlib code example, codex, python plot, pyplot
    `Gallery generated by Sphinx-Gallery
    <https://sphinx-gallery.readthedocs.io>`_
