Sophie

Sophie

distrib > Fedora > 18 > i386 > by-pkgid > bf21b4394f4d7fa09e3626145d3315e0 > files > 567

python-matplotlib-doc-1.2.0-14.fc18.i686.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`)