Take the 2-minute tour ×

When we plot a bode/nichols locus, the name of workspace variable is used


will use 'tmp' as label.
enter image description here When using more complex data, matlab is using 'untitled1','untitled2',...

tmp={ss(1,1,1,0) , ss(1.2,1,1,0)};

enter image description here How can I change this label programmatically?
Ideally, I'd like a solution working with Matlab 6.5.1, but I'm also interested in solutions restricted to newer versions.

share|improve this question
Have you tried the "Name" property of the function ss? mathworks.com/help/control/ref/ss.html#bswdue3-1 –  Mikhail Feb 25 '13 at 15:04
@Mikhail thanks, that's the first thing I thought of, but it did not work in version 6.5.1 (I have legacy code that I don't wish to port). Maybe I'll just have to plot the nichols in a recent version... –  aka.nice Feb 25 '13 at 16:05
add comment

1 Answer

You can modify the labels programmatically via their graphics handles. It looks like the values you want to change are the DisplayName property of some of the children of the current axis. So in your first example, I can change the display name like this:

ch = get(gca,'Children');

In general, I'm not sure how to predict which children of the current axis are the ones you need to change. For the second example you give, the two curves appear to be the second and third children when I run your code.

share|improve this answer
add comment

Your Answer


