Custom Legend Placement on a Plot

79 ビュー (過去 30 日間)
Jim
Jim 2013 年 3 月 21 日
コメント済み: Sebastian Lopez 2020 年 12 月 30 日
I want to place a legend below the Title but above the plot area of a scatter plot. It looks like the built-in methods place the legend within the Plot Area or outside of the area defined by the Plot Area and Title. Is this true?
One method I considered was to include the contents of the legend in the bottom rows of a multi-line Title. However, I cannot figure out how to replicate the line / marker styles in a string (I am specifying the line and marker styles to be used in the plot).

回答 (1 件)

Peter
Peter 2013 年 3 月 21 日
You could create a multiline title, using spaces to create room for the legend, and then move the legend, using its position property, like:
title({'Title';' ';' ';' '})
h = legend('line1','line2');
pos = get(h,'Position');
posx = 0.5;
posy = 0.85;
set(h,'Position',[posx posy pos(3) pos(4)]);
Change posx and posy to position your legend.
  3 件のコメント
Peter
Peter 2013 年 3 月 22 日
Don't the line/marker styles appear in the legend box that is created with the h = legend(...) command?
Sebastian Lopez
Sebastian Lopez 2020 年 12 月 30 日
Works perfectly fine! Thanks

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

カテゴリ

Help Center および File ExchangeLegend についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by