필터 지우기
필터 지우기

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

조회 수: 8 (최근 30일)
cdlapoin
cdlapoin 2022년 2월 15일
댓글: cdlapoin 2022년 2월 15일
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일
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일
opts = bodeoptions;
opts.Ylabel.String = {'mymag' 'myphase'};
bodeplot(tf(1,[1 1]),opts)

카테고리

Help CenterFile Exchange에서 Plot Customization에 대해 자세히 알아보기

제품


릴리스

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by