Re: [Matplotlib-users] Drawing on plots
I see. Thanks, Ben. -Soumyaroop On Thu, May 12, 2011 at 10:32 AM, Benjamin Root ben.r...@ou.edu wrote: On Thursday, May 12, 2011, Soumyaroop Roy roy.soumyar...@gmail.com wrote: 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 No, don't use del. If you save the object returned by the call to axvline, then you should be able to call its .remove() method. That should do the proper bookkeeping. Ben Root -- 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
Re: [Matplotlib-users] Drawing on plots
Any pointers on this? On Sat, Apr 30, 2011 at 12:34 AM, Soumyaroop Roy roy.soumyar...@gmail.comwrote: 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
Re: [Matplotlib-users] Drawing on plots
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.comwrote: 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 -- 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
[Matplotlib-users] Drawing on plots
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
[Matplotlib-users] Zooming into plots?
Hi there: Does matplotlib have provide any feature to allow zooming into plot regions like a waveform viewer does? regards, Soumyaroop -- Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Zooming into plots?
Hi Ben: That's encouraging! I want to be able plot up to N data points (the points are in an ordered sequence) on a canvas and then zoom into the plot region enclosed within a subset sequence (e.g., T1 to T2 data points, 0 = T1 T2 =N) by putting two cursors - one on T1 and the other one on T2. regards, Soumyaroop On Wed, Jan 26, 2011 at 6:44 PM, Benjamin Root ben.r...@ou.edu wrote: On Wednesday, January 26, 2011, Soumyaroop Roy soumyar...@gmail.com wrote: Hi there: Does matplotlib have provide any feature to allow zooming into plot regions like a waveform viewer does? regards, Soumyaroop Mpl offers full control of the plot display. Maybe if you offer an example of what you are looking for, we might be able to point you to a way to do what you want? Ben Root -- Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users