Search code examples
pythonmatplotlibline

Matplotlib - How to remove a specific line or curve


I want to remove a specific line in a plot of multiple lines. Bellow is a given example which is not sufficient for me because it removes only the last plotted line and not the line that I want to remove. How can I do that? How can I address a specific line(by name, by number, by reference) throughout the program and delete that line?

self.axes.lines.remove(self.axes.lines[0])

Solution

  • Almost all of the plotting functions return a reference to the artist object created ex:

    ln, = plot(x, y)  # plot actually returns a list of artists, hence the ,
    im = imshow(Z)
    

    If you have the reference you can remove an artist via the remove (doc) function ex:

    ln.remove()
    im.remove()