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

14 vues (au cours des 30 derniers jours)
cdlapoin
cdlapoin le 15 Fév 2022
Commenté : cdlapoin le 15 Fév 2022
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!

Réponse acceptée

Voss
Voss le 15 Fév 2022
Modifié(e) : Voss le 15 Fév 2022
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 commentaire
cdlapoin
cdlapoin le 15 Fév 2022
so the correct answer is to build a complete YLabel struct, then replace the existing on with setoptions(). perfect! Thanks!

Connectez-vous pour commenter.

Plus de réponses (1)

Paul
Paul le 15 Fév 2022
opts = bodeoptions;
opts.Ylabel.String = {'mymag' 'myphase'};
bodeplot(tf(1,[1 1]),opts)

Catégories

En savoir plus sur Response Computation and Visualization dans Help Center et File Exchange

Produits


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by