How to avoid programmatically the data overlapping from legend in plots

37 ビュー (過去 30 日間)
pietro
pietro 2014 年 11 月 27 日
回答済み: Orion 2014 年 11 月 27 日
Hi all,
I programmatically plot many data as a bar plot. Unfortunately for plots where the last bar is very high legend overlaps the bar. I may do it by setting ylim, but the data ranges may differ of several order of magnitude. Is there any programmatically way to avoid this?
Thank you
best regards
pietro

採用された回答

Orion
Orion 2014 年 11 月 27 日
2 ways, If you want it inside :
% user defined position (ex : right bottom)
set(hleg1,'Position',[0.7443 0.1782 0.1518 0.1286])
% automatic
set(hleg1,'Location','best')

その他の回答 (1 件)

Orion
Orion 2014 年 11 月 27 日
Hi
You could just put the legend outside the axe
figure
x = -pi:pi/20:1;
bar(x,cos(x),'b')
hold on
bar(x,sin(x),'r')
hleg1 = legend('cos_x','sin_x');
pause(1)
set(hleg1,'Location','BestOutside') % legend is outside
see the doc of legend for the different possibble location .
  1 件のコメント
pietro
pietro 2014 年 11 月 27 日
Hi Orion,
thanks for the kind reply. I knew the option, but I would prefer to place the legend inside to maximize the axes area.

サインインしてコメントする。

タグ

製品

Community Treasure Hunt

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

Start Hunting!

Translated by