

.. _sphx_glr_gallery_widgets_radio_buttons.py:


=============
Radio Buttons
=============





.. image:: /gallery/widgets/images/sphx_glr_radio_buttons_001.png
    :align: center





.. code-block:: python

    import numpy as np
    import matplotlib.pyplot as plt
    from matplotlib.widgets import RadioButtons

    t = np.arange(0.0, 2.0, 0.01)
    s0 = np.sin(2*np.pi*t)
    s1 = np.sin(4*np.pi*t)
    s2 = np.sin(8*np.pi*t)

    fig, ax = plt.subplots()
    l, = ax.plot(t, s0, lw=2, color='red')
    plt.subplots_adjust(left=0.3)

    axcolor = 'lightgoldenrodyellow'
    rax = plt.axes([0.05, 0.7, 0.15, 0.15], facecolor=axcolor)
    radio = RadioButtons(rax, ('2 Hz', '4 Hz', '8 Hz'))


    def hzfunc(label):
        hzdict = {'2 Hz': s0, '4 Hz': s1, '8 Hz': s2}
        ydata = hzdict[label]
        l.set_ydata(ydata)
        plt.draw()
    radio.on_clicked(hzfunc)

    rax = plt.axes([0.05, 0.4, 0.15, 0.15], facecolor=axcolor)
    radio2 = RadioButtons(rax, ('red', 'blue', 'green'))


    def colorfunc(label):
        l.set_color(label)
        plt.draw()
    radio2.on_clicked(colorfunc)

    rax = plt.axes([0.05, 0.1, 0.15, 0.15], facecolor=axcolor)
    radio3 = RadioButtons(rax, ('-', '--', '-.', 'steps', ':'))


    def stylefunc(label):
        l.set_linestyle(label)
        plt.draw()
    radio3.on_clicked(stylefunc)

    plt.show()

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



.. container:: sphx-glr-footer


  .. container:: sphx-glr-download

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



  .. container:: sphx-glr-download

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

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

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