# How do i rotate legend in plot

41 views (last 30 days)
Derek Cooper on 20 Dec 2021
Hello dear friends,
I would like to rotate my legend box in a plot 90 degrees, like the figure below.

Ashutosh Singh Baghel on 22 Dec 2021
Hi Derek,
I understand you wish to rotate the legend by 90 degrees. However, there is no direct function to rotate legends in graphs using MATLAB. As a workaround we can manually rotate the legends. Please refer to the following example:
f = 50;
t = 0:1/51:2;
z1 = sin(2*pi*1*f*t);
h1 = plot(t,z1);
% create a sample plot
% 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);

R2020b

### Community Treasure Hunt

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

Start Hunting!

Translated by