Sophie

Sophie

distrib > Mandriva > 2010.2 > i586 > media > contrib-backports > by-pkgid > a44f8c7e78ee9c5838c1fb080c9e7630 > files > 1499

python-matplotlib-doc-1.1.1-1mdv2010.1.noarch.rpm

.. _widgets-check_buttons:

widgets example code: check_buttons.py
======================================

[`source code <check_buttons.py>`_]

::

    import numpy as np
    import matplotlib.pyplot as plt
    from matplotlib.widgets import CheckButtons
    
    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(6*np.pi*t)
    
    ax = plt.subplot(111)
    l0, = ax.plot(t, s0, visible=False, lw=2)
    l1, = ax.plot(t, s1, lw=2)
    l2, = ax.plot(t, s2, lw=2)
    plt.subplots_adjust(left=0.2)
    
    rax = plt.axes([0.05, 0.4, 0.1, 0.15])
    check = CheckButtons(rax, ('2 Hz', '4 Hz', '6 Hz'), (False, True, True))
    
    def func(label):
        if label == '2 Hz': l0.set_visible(not l0.get_visible())
        elif label == '4 Hz': l1.set_visible(not l1.get_visible())
        elif label == '6 Hz': l2.set_visible(not l2.get_visible())
        plt.draw()
    check.on_clicked(func)
    
    plt.show()
    

Keywords: python, matplotlib, pylab, example, codex (see :ref:`how-to-search-examples`)