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
>
>
------------------------------------------------------------------------------
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