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

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

.. _sphx_glr_gallery_misc_patheffect_demo.py:


===============
Patheffect Demo
===============





.. image:: /gallery/misc/images/sphx_glr_patheffect_demo_001.png
    :class: sphx-glr-single-img





.. code-block:: python

    import matplotlib.pyplot as plt
    import matplotlib.patheffects as PathEffects
    import numpy as np

    if 1:
        plt.figure(1, figsize=(8, 3))
        ax1 = plt.subplot(131)
        ax1.imshow([[1, 2], [2, 3]])
        txt = ax1.annotate("test", (1., 1.), (0., 0),
                           arrowprops=dict(arrowstyle="->",
                                           connectionstyle="angle3", lw=2),
                           size=20, ha="center",
                           path_effects=[PathEffects.withStroke(linewidth=3,
                                                                foreground="w")])
        txt.arrow_patch.set_path_effects([
            PathEffects.Stroke(linewidth=5, foreground="w"),
            PathEffects.Normal()])

        pe = [PathEffects.withStroke(linewidth=3,
                                     foreground="w")]
        ax1.grid(True, linestyle="-", path_effects=pe)

        ax2 = plt.subplot(132)
        arr = np.arange(25).reshape((5, 5))
        ax2.imshow(arr)
        cntr = ax2.contour(arr, colors="k")

        plt.setp(cntr.collections, path_effects=[
            PathEffects.withStroke(linewidth=3, foreground="w")])

        clbls = ax2.clabel(cntr, fmt="%2.0f", use_clabeltext=True)
        plt.setp(clbls, path_effects=[
            PathEffects.withStroke(linewidth=3, foreground="w")])

        # shadow as a path effect
        ax3 = plt.subplot(133)
        p1, = ax3.plot([0, 1], [0, 1])
        leg = ax3.legend([p1], ["Line 1"], fancybox=True, loc=2)
        leg.legendPatch.set_path_effects([PathEffects.withSimplePatchShadow()])

        plt.show()


.. _sphx_glr_download_gallery_misc_patheffect_demo.py:


.. only :: html

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



  .. container:: sphx-glr-download

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



  .. container:: sphx-glr-download

     :download:`Download Jupyter notebook: patheffect_demo.ipynb <patheffect_demo.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>`_
