bodeplot(), setoptions - YLabel, How to set?

I have a bodeplot and want to change the Ylabel text from Magnitude to something more descriptive
h = bodeplot(sys,w);
setoptions(h,'YLabel','MyString');
doesn't work, so I look at it with getoptions()
>> getoptions(h,'Ylabel')
ans =
struct with fields:
String: {'Magnitude' 'Phase'}
FontSize: 11
FontWeight: 'normal'
FontAngle: 'normal'
Color: [0 0 0]
Interpreter: 'tex'
So it is a struct, but I cannot figure out how to address it properly with the way setoptions() is formatted. I tried:
setoptions(h,'YLabel(1).String','MyString')
which doesn't work or any of the other obvious variations. so now it's bothering me. Please help!

 채택된 답변

Voss
Voss 2022년 2월 15일
편집: Voss 2022년 2월 15일

1 개 추천

rng("default")
sys = rss(5);
h = bodeplot(sys);
ylabel_opts = getoptions(h,'YLabel')
ylabel_opts = struct with fields:
String: {'Magnitude' 'Phase'} FontSize: 11 FontWeight: 'normal' FontAngle: 'normal' Color: [0 0 0] Interpreter: 'tex'
% set only the magnitude plot ylabel string (leave phase alone):
ylabel_opts.String{1} = 'MyString';
% apply the new settings:
setoptions(h,'YLabel',ylabel_opts);

댓글 수: 1

cdlapoin
cdlapoin 2022년 2월 15일
so the correct answer is to build a complete YLabel struct, then replace the existing on with setoptions(). perfect! Thanks!

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

추가 답변 (1개)

Paul
Paul 2022년 2월 15일

1 개 추천

opts = bodeoptions;
opts.Ylabel.String = {'mymag' 'myphase'};
bodeplot(tf(1,[1 1]),opts)

카테고리

도움말 센터File Exchange에서 Plot Customization에 대해 자세히 알아보기

제품

릴리스

R2021a

질문:

2022년 2월 15일

댓글:

2022년 2월 15일

Community Treasure Hunt

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

Start Hunting!

Translated by