How do I position the legend window in a Bode plot with phase hidden?
48 ビュー (過去 30 日間)
古いコメントを表示
Gordon Pellegrinetti
2014 年 7 月 17 日
回答済み: Gordon Pellegrinetti
2014 年 7 月 21 日
I generated the following code to create a simple bode plot, and the legend position doesn't seem to be behaving properly. Am I missing something, or is this a bug?
P = bodeoptions; P.FreqUnits = 'Hz'; % Create plot with the options specified by P P.PhaseVisible = 'off';
x1=tf(1,[1/(10*2*pi) 1]); x2=tf(1,[1/(20*2*pi) 1]);
bodeplot(x1, x2, P) legend('tf 10hz', 'tf 20hz','Location', 'NorthEast')
0 件のコメント
採用された回答
Namita Vishnubhotla
2014 年 7 月 21 日
The "legend" command places the legend in the CurrentAxis unless an axis handle is explicitly specified as one of the inputs to the command. In your case, the legend is being positioned at the 'NorthEast' location of the lower axis because the lower axis becomes the CurrentAxis by default.
There are two workarounds you can use:
1. Manually click and drag the legend to location you prefer
2. Get the handle to the first axis, and use this handle as an input to the "legend" command.
>> axes_handles = findall(gcf, 'type', 'axes');
>> legend(axes_handles(4),'tf 10hz', 'tf 20hz','Location', 'NorthEast');
0 件のコメント
その他の回答 (1 件)
参考
カテゴリ
Help Center および File Exchange で Legend についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!