How can I set linewidth directly in bode command?
古いコメントを表示
I can draw a bode plot as below
sys = tf(4,[1 0.5 4]);
figure(1), bode(sys), grid on;
Now, I would like to change some options in the Bode plot.
I can set the options through 'bodeoptions' as below.
sys = tf(4,[1 0.5 4]);
options = bodeoptions;
options.FreqUnits = 'Hz';
options.Title.FontSize = 14;
options.XLabel.FontSize = 14;
options.YLabel.FontSize = 14;
options.TickLabel.FontSize = 14;
figure(2), bode(sys, options), grid on;
But I can't find the option to set the linewidth of the bode plot.
How can I do that?
採用された回答
その他の回答 (3 件)
Marcelo Moraes
2023 年 4 月 17 日
fig = gcf;
obj = findobj(fig,'Type','hggroup');
for idx = 1:numel(obj)
for jdx = 1:numel(obj(idx).Children)
obj(idx).Children(jdx).LineWidth = 2;
end
end
1 件のコメント
Brian
2025 年 8 月 19 日
This is excellent! Thank you Marcelo.
I've made this into a function which I call every time I use bode.
Birdman
2020 年 3 月 25 日
You can try semilogx. See the following code:
sys=tf(4,[1 0.5 4]);
[mag,phase,wout] = bode(sys);
Mag=20*log10(mag(:));Phase=phase(:);
figure(1);semilogx(wout,Mag,'LineWidth',5);grid on;
figure(2);semilogx(wout,Phase,'LineWidth',1);grid on;
Siddharth Jawahar
2024 年 6 月 19 日
Hello Byungkeuk,
Here is an example script to demonstrate how you can adjust the linewidth of a bode plot.
sys = tf([4, 1], [0.5, 4]); % Define the system transfer function
figure(1);
[mag,phase,wout] = bode(sys); % Store Bode plot data
h = bodeplot(sys); % Plot Bode diagram
grid on;
% Get the line handles
hline = findall(gcf, 'type', 'line');
% Set the linewidth
set(hline, 'LineWidth', 2); % Change 2 to your desired linewidth
Hope this helps,
Sid
3 件のコメント
Julius
2024 年 11 月 27 日
This works great, but how can I set the linewidth in the legend to be the same as in the bodeplot?

Andrew Ouellette
2024 年 11 月 28 日
Note: Sid's answer is only applicable for releases prior to R2024b. Follow my answer starting in release R2024b.
Julius
2024 年 11 月 28 日
I used R2021b to create the chart I posted.
So it doesn't increase the linewidth inside the legend using his code and adding:
legend("TF")
But I will maybe upgrade to R2024b to use the charts API
カテゴリ
ヘルプ センター および File Exchange で Plot Customization についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
