Why do plotting commands delete axes UserData?

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.

 채택된 답변

Bruce Elliott
Bruce Elliott 2020년 4월 16일

0 개 추천

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

Not all properties are reset. Units and Position keep their values.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Graphics Object Properties에 대해 자세히 알아보기

제품

태그

질문:

2020년 4월 16일

댓글:

2020년 4월 16일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by