

.. _sphx_glr_gallery_lines_bars_and_markers_categorical_variables.py:


==============================
Plotting categorical variables
==============================

How to use categorical variables in Matplotlib.

Many times you want to create a plot that uses categorical variables
in Matplotlib. Matplotlib allows you to pass categorical variables directly to
many plotting functions, which we demonstrate below.



.. code-block:: python

    import matplotlib.pyplot as plt

    data = {'apples': 10, 'oranges': 15, 'lemons': 5, 'limes': 20}
    names = list(data.keys())
    values = list(data.values())

    fig, axs = plt.subplots(1, 3, figsize=(9, 3), sharey=True)
    axs[0].bar(names, values)
    axs[1].scatter(names, values)
    axs[2].plot(names, values)
    fig.suptitle('Categorical Plotting')





.. image:: /gallery/lines_bars_and_markers/images/sphx_glr_categorical_variables_001.png
    :align: center




This works on both axes:



.. code-block:: python


    cat = ["bored", "happy", "bored", "bored", "happy", "bored"]
    dog = ["happy", "happy", "happy", "happy", "bored", "bored"]
    activity = ["combing", "drinking", "feeding", "napping", "playing", "washing"]

    fig, ax = plt.subplots()
    ax.plot(activity, dog, label="dog")
    ax.plot(activity, cat, label="cat")
    ax.legend()

    plt.show()



.. image:: /gallery/lines_bars_and_markers/images/sphx_glr_categorical_variables_002.png
    :align: center




**Total running time of the script:** ( 0 minutes  0.218 seconds)



.. only :: html

 .. container:: sphx-glr-footer


  .. container:: sphx-glr-download

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



  .. container:: sphx-glr-download

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


.. only:: html

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

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