>>>>> "Kenny" == Kenny Ortmann <[EMAIL PROTECTED]> writes:

    Kenny> I'm writing a program with a graph.  You have to select
    Kenny> segments of the graph, which requires 2 points.

    Kenny> working with widgets is new to me and im used to working
    Kenny> with while loops and what not.  I've been just checking to
    Kenny> see if i have 0 or 1 points in the on_point wxmpl code, and
    Kenny> then if i have 1 and the next point is good opening a
    Kenny> dialog to ask and then resetting number of pionts to 0.

    Kenny> anyone have any better ideas of how to do this? the amount
    Kenny> of "global"/"self.points" variables is driving me nuts

If you want to select a horizontal or vertical region of the graph,
eg, xmin, xmax, the SpanSelector widget is your friend.  I believe
recent versions of the wxmpl code worth with mpl events and widgets,
but I haven't tested this.


#!/usr/bin/env python
"""
The SpanSelector is a mouse widget to select a vmin/vmax
range.  When you left click drag in the axes, a rectangle shows the
selected region.  When you release, the rectangle disappears and a
callback is called with min/max.
"""
import pylab
from matplotlib.widgets import SpanSelector

fig = pylab.figure(figsize=(8,6))
ax = fig.add_subplot(211, axisbg='#FFFFCC')

x,y = 4*(pylab.rand(2,100)-.5)
ax.plot(x,y,'o')
ax.set_xlim(-2,2)
ax.set_ylim(-2,2)
ax.set_title('Press left mouse button and drag to test')


def onselect(vmin, vmax):
    print vmin, vmax

# set useblit True on gtkagg for enhanced performance
span = SpanSelector(ax, onselect, 'horizontal', useblit=False,
                    rectprops=dict(alpha=0.5, facecolor='red') )

ax2 = fig.add_subplot(212)
ax2.plot([1,2,3])

span2 = SpanSelector(ax2, onselect, 'vertical')

pylab.show()

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to