How to rotate legend in matlab 2019

36 ビュー (過去 30 日間)
CHEN Jianghua
CHEN Jianghua 2020 年 6 月 3 日
コメント済み: yuxuan 2023 年 12 月 24 日
Hi, I would like to rotate the legend from horizontal layout to vertical layout, just as shown in the picture below. Could anyone share some experience about this?
Thanks for you coming help!
Alden
  2 件のコメント
Walter Roberson
Walter Roberson 2020 年 6 月 3 日
CHEN Jianghua
CHEN Jianghua 2020 年 6 月 3 日
Thank you so much. I will keep an eye on that.

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

採用された回答

Sai Sri Pathuri
Sai Sri Pathuri 2020 年 7 月 10 日
There is no direct function to rotate legends in graphs using MATLAB.
However, as a workaround we can manually rotate the legends. Please refer to the following example:
% create a sample plot
h1 = plot(1:5);
% add legend to the graph
[legend_handle, icons] = legend('Sample legend');
% disable the box around the legend object
set(legend_handle, 'Box', 'off')
% get the current position of the legend object
leg_pos=get(legend_handle,'position');
% assign the required position of the legend to a new variable
new_leg_pos=[.7 0.6 .2 leg_pos(4)+.2] ;
% Get current line data (horizontal line)
xd = icons(2).XData;
yd = icons(2).YData;
% Swap X and Y data for line (make vertical line)
icons(2).XData = yd;
icons(2).YData = xd;
% Rotate and reposition the text
set(icons(1),'rotation',90)
icons(1).Position = [0.5 0.4 0];
% Adjust legend size to accomodate changes.
set(legend_handle,'position',new_leg_pos);
  5 件のコメント
Joan Sturm
Joan Sturm 2021 年 5 月 3 日
I do have the same problem and I'm working with R2020a.
yuxuan
yuxuan 2023 年 12 月 24 日
This only works on the plot figure, when i use the 'errorbar' function same error shows up.

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

その他の回答 (0 件)

カテゴリ

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

製品


リリース

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by