On Tuesday 12 February 2008 12:07:21 Michael Frauens wrote:
> I am using span selector to identify an area and then highlight in in
> green.  I want the user to be able to validate this (or not) and then
> select another area (or not).  However, when the user selects the alternate
> area I want the previous instance of axvspan to be deleted/removed.  How do
> I remove this instance?  of do I have to delete the whole plot and replot?
>
> Removing the instance is strongly preferred becauase the user may of
> altered the display using the canvas widgets.

Michael,
I have more or less  the same issue: I need to be able to highlight one 
particular curve among many. I have implemented a special subclass of Axes 
for my particular problem. This subclass has a method "highlight"
Here's a rough draft of what I do:

def __init__(self,*args,**kwargs)
        Subplot.__init__(self,*args,**kwargs)
        sefl.highlightedfreq = None

def highlight(bandwidth, **options):
        if (self.highlightedfreq is not None) and \
           (self.highlightedfreq != bandwidth):
            del self.lines[self.highlightedline]
        self.highlightedfreq = bandwidth
        self.plot(current._dates-shift, current._series, lw=lw, ls=ls, c=c,
                  scalex=False, scaley=False)
        self.highlightedline = len(self.lines)-1        #
        return self.highlightedline

As you see, I have an extra attribute (highlightedfreq) that stores the index 
of the highlighted line: when I need to deselect the highlighted curve, I 
just delete the corresponding element of the lines list.

HIH
P.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to