
.. DO NOT EDIT.
.. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY.
.. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE:
.. "gallery/ticks/major_minor_demo.py"
.. LINE NUMBERS ARE GIVEN BELOW.

.. only:: html

    .. meta::
        :keywords: codex

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

        :ref:`Go to the end <sphx_glr_download_gallery_ticks_major_minor_demo.py>`
        to download the full example code.

.. rst-class:: sphx-glr-example-title

.. _sphx_glr_gallery_ticks_major_minor_demo.py:


=====================
Major and minor ticks
=====================

Demonstrate how to use major and minor tickers.

The two relevant classes are `.Locator`\s and `.Formatter`\s.  Locators
determine where the ticks are, and formatters control the formatting of tick
labels.

Minor ticks are off by default (using `.NullLocator` and `.NullFormatter`).
Minor ticks can be turned on without labels by setting the minor locator.
Minor tick labels can be turned on by setting the minor formatter.

`.MultipleLocator` places ticks on multiples of some base.
`.StrMethodFormatter` uses a format string (e.g., ``'{x:d}'`` or ``'{x:1.2f}'``
or ``'{x:1.1f} cm'``) to format the tick labels (the variable in the format
string must be ``'x'``).  For a `.StrMethodFormatter`, the string can be passed
directly to `.Axis.set_major_formatter` or
`.Axis.set_minor_formatter`.  An appropriate `.StrMethodFormatter` will
be created and used automatically.

`.pyplot.grid` changes the grid settings of the major ticks of the x- and
y-axis together.  If you want to control the grid of the minor ticks for a
given axis, use for example ::

  ax.xaxis.grid(True, which='minor')

Note that a given locator or formatter instance can only be used on a single
axis (because the locator stores references to the axis data and view limits).

.. GENERATED FROM PYTHON SOURCE LINES 33-57

.. code-block:: Python


    import matplotlib.pyplot as plt
    import numpy as np

    from matplotlib.ticker import AutoMinorLocator, MultipleLocator

    t = np.arange(0.0, 100.0, 0.1)
    s = np.sin(0.1 * np.pi * t) * np.exp(-t * 0.01)

    fig, ax = plt.subplots()
    ax.plot(t, s)

    # Make a plot with major ticks that are multiples of 20 and minor ticks that
    # are multiples of 5.  Label major ticks with '.0f' formatting but don't label
    # minor ticks.  The string is used directly, the `StrMethodFormatter` is
    # created automatically.
    ax.xaxis.set_major_locator(MultipleLocator(20))
    ax.xaxis.set_major_formatter('{x:.0f}')

    # For the minor ticks, use no labels; default NullFormatter.
    ax.xaxis.set_minor_locator(MultipleLocator(5))

    plt.show()




.. image-sg:: /gallery/ticks/images/sphx_glr_major_minor_demo_001.png
   :alt: major minor demo
   :srcset: /gallery/ticks/images/sphx_glr_major_minor_demo_001.png, /gallery/ticks/images/sphx_glr_major_minor_demo_001_2_00x.png 2.00x
   :class: sphx-glr-single-img





.. GENERATED FROM PYTHON SOURCE LINES 58-67

Automatic tick selection for major and minor ticks.

Use interactive pan and zoom to see how the tick intervals change. There will
be either 4 or 5 minor tick intervals per major interval, depending on the
major interval.

One can supply an argument to `.AutoMinorLocator` to specify a fixed number
of minor intervals per major interval, e.g. ``AutoMinorLocator(2)`` would
lead to a single minor tick between major ticks.

.. GENERATED FROM PYTHON SOURCE LINES 67-83

.. code-block:: Python


    t = np.arange(0.0, 100.0, 0.01)
    s = np.sin(2 * np.pi * t) * np.exp(-t * 0.01)

    fig, ax = plt.subplots()
    ax.plot(t, s)

    ax.xaxis.set_minor_locator(AutoMinorLocator())

    ax.tick_params(which='both', width=2)
    ax.tick_params(which='major', length=7)
    ax.tick_params(which='minor', length=4, color='r')

    plt.show()





.. image-sg:: /gallery/ticks/images/sphx_glr_major_minor_demo_002.png
   :alt: major minor demo
   :srcset: /gallery/ticks/images/sphx_glr_major_minor_demo_002.png, /gallery/ticks/images/sphx_glr_major_minor_demo_002_2_00x.png 2.00x
   :class: sphx-glr-single-img





.. GENERATED FROM PYTHON SOURCE LINES 84-96

.. admonition:: References

   The use of the following functions, methods, classes and modules is shown
   in this example:

   - `matplotlib.pyplot.subplots`
   - `matplotlib.axis.Axis.set_major_formatter`
   - `matplotlib.axis.Axis.set_major_locator`
   - `matplotlib.axis.Axis.set_minor_locator`
   - `matplotlib.ticker.AutoMinorLocator`
   - `matplotlib.ticker.MultipleLocator`
   - `matplotlib.ticker.StrMethodFormatter`


.. _sphx_glr_download_gallery_ticks_major_minor_demo.py:

.. only:: html

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

    .. container:: sphx-glr-download sphx-glr-download-jupyter

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

    .. container:: sphx-glr-download sphx-glr-download-python

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

    .. container:: sphx-glr-download sphx-glr-download-zip

      :download:`Download zipped: major_minor_demo.zip <major_minor_demo.zip>`


.. only:: html

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

    `Gallery generated by Sphinx-Gallery <https://sphinx-gallery.github.io>`_
