Last object added to the plot

Hi,

Does matplotlib keep track of the last object added to the plot axes or its nature (line, text, collection, patch, etc.) ?
If not, would it be feasible to implement something like this in matplotlib ?

This could be useful for interactive plotting, as it would allow a simple undo feature based on commands such as del ax.lines[-1].

butterw@...149..., on 2011-04-04 05:15, wrote:

Hi,

Does matplotlib keep track of the last object added to the plot axes
or its nature (line, text, collection, patch, etc.) ?
If not, would it be feasible to implement something like this in
matplotlib ?

This could be useful for interactive plotting, as it would allow a
simple undo feature based on commands such as del ax.lines[-1].

Hi there,

I think this functionality already exists exactly as you
describe. ax.plot appends new lines to ax.lines, ax.scatter
appends new collection to ax.collections (via the
ax.add_collection method).

try this, and you'll see the cyan line is removed:

plt.plot([1,2,3],'r')
plt.plot([1,2,1],'c')
ax = plt.gca()
del(ax.lines[-1])
plt.draw()

···

--
Paul Ivanov
314 address only used for lists, off-list direct email at:
http://pirsquared.org | GPG/PGP key id: 0x0F3E28F7

Sorry, my question was not clear.

What you mention works, IF you know the last plotted object was a line
and not a text...
My question relates to trying to find this type of information automatically.

···

On Mon, Apr 4, 2011 at 7:15 AM, <butterw@...149...> wrote:

Hi,

Does matplotlib keep track of the last object added to the plot axes or its
nature (line, text, collection, patch, etc.) ?
If not, would it be feasible to implement something like this in matplotlib
?

This could be useful for interactive plotting, as it would allow a simple
undo feature based on commands such as del ax.lines[-1].

--
thanks,
peter butterworth