MATLAB Answers

Why do plotting commands delete axes UserData?

4 views (last 30 days)
If I store data in the UserData property of an open axes object and then plot something on the axes, the UserData is deleted. Does this happen for a good reason, and is there any way to prevent it?
Here is sample code to illustrate this:
>> myAx = axes;
>> myAx.UserData = 1:10;
>> myAx.UserData
ans =
1 2 3 4 5 6 7 8 9 10
>> plot(rand(5))
>> myAx.UserData
ans =
I'd like to have UserData persist after adding more graphics objects to the axes.


Sign in to comment.

Accepted Answer

Bruce Elliott
Bruce Elliott on 16 Apr 2020
This was a silly question - I just need to call
>> hold on
before plotting. I knew that about graphics objects, but hadn't realized that all the axes properties are replaced by new plot commands.

  1 Comment

Steven Lord
Steven Lord on 16 Apr 2020
Not all properties are reset. Units and Position keep their values.

Sign in to comment.

More Answers (0)


Translated by