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

10 次查看(过去 30 天)
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