Here's a short follow up question: Is there a concept of erasing in matplotlib? If I were to erase an axvline that I drew earlier, how would I do that? Can you use del to delete the object and then force a redraw?
-Soumyaroop On Mon, May 2, 2011 at 11:35 AM, Soumyaroop Roy <roy.soumyar...@gmail.com> wrote: > Thanks Justin. I have the event handling thing in place and was really > looking for drawing options. Thanks for the tips. I'll look into them. > regards, > Soumyaroop > > On Mon, May 2, 2011 at 11:06 AM, Justin McCann <jne...@gmail.com> wrote: >> >> You'll want to use event handling to figure out where the user clicked, >> and then you have a couple of options: Axes.vlines(), or pylab.axvline(). It >> seems like pylab.axvline() will always span the entire y-axis by default, >> but with Axes.vlines() you need to specify the ymin/ymax. Maybe someone else >> knows of an argument to pass to Axes.vlines() that will always span the >> entire y-axis. >> Here's the code (assuming 'ipython -pylab'): >> ======== >> fig = figure() >> plot([1,2,3,4], [5,6,7,8]) >> def onclick(event): >> """Draw a vertical line spanning the axes every time the user clicks >> inside them""" >> if event.inaxes: # make sure the click was within a set of axes >> pylab.axvline(event.xdata, axes=event.inaxes, color='r', >> linestyle=':') # red dotted line >> event.inaxes.figure.canvas.draw() # force a re-draw >> cid = fig.canvas.mpl_connect('button_press_event', onclick) # add the >> click handler >> ... interact with it >> fig.canvas.mpl_disconnect(cid) # get rid of the click-handler >> ======== >> Docs: >> Axes.vlines(): >> http://matplotlib.sourceforge.net/api/axes_api.html#matplotlib.axes.Axes.vlines >> pyplot.axvline(): >> http://matplotlib.sourceforge.net/api/pyplot_api.html#matplotlib.pyplot.axvline >> Event >> handling: http://matplotlib.sourceforge.net/users/event_handling.html >> >> Example: http://matplotlib.sourceforge.net/examples/event_handling/data_browser.html >> Justin >> >> On Mon, May 2, 2011 at 10:08 AM, Soumyaroop Roy <roy.soumyar...@gmail.com> >> wrote: >>> >>> Any pointers on this? >>> On Sat, Apr 30, 2011 at 12:34 AM, Soumyaroop Roy >>> <roy.soumyar...@gmail.com> wrote: >>>> >>>> Hi there: >>>> I have an x-y plot and I want to draw a vertical marker (an x=c line) on >>>> the plot on a mouse click. >>>> How should I approach it? >>>> regards, >>>> Soumyaroop >>> >>> >>> ------------------------------------------------------------------------------ >>> WhatsUp Gold - Download Free Network Management Software >>> The most intuitive, comprehensive, and cost-effective network >>> management toolset available today. Delivers lowest initial >>> acquisition cost and overall TCO of any competing solution. >>> http://p.sf.net/sfu/whatsupgold-sd >>> _______________________________________________ >>> Matplotlib-users mailing list >>> Matplotlib-users@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >>> >> > > ------------------------------------------------------------------------------ Achieve unprecedented app performance and reliability What every C/C++ and Fortran developer should know. Learn how Intel has extended the reach of its next-generation tools to help boost performance applications - inlcuding clusters. http://p.sf.net/sfu/intel-dev2devmay _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users