breaking legend into 2 columns
조회 수: 6 (최근 30일)
이전 댓글 표시
Hi to everyone. I use a MATLAB code to draw a graph. the legends are too big and cover a part of the graph. I wanted to make it in 2 columns. i saw some solutions on the net which explain how to change the functions to make the legend in multiple columns. However, my program reads the data from an excel file and their solutions don't work for me. Could anybody please help me to solve this issue? Sorry if my question is naive, I'm not good in MATLAB. I also birng my code here:
A=xlsread('C:\temp.xlsx','A1:A10');
B=xlsread('C:\temp.xlsx','B1:B10');
C=xlsread('C:\temp.xlsx','C1:C10');
D=xlsread('C:\temp.xlsx','D1:D10');
E=xlsread('C:\temp.xlsx','E1:E10');
F=xlsread('C:\temp.xlsx','F1:F10');
G=xlsread('C:\temp.xlsx','G1:G10');
plot(A,B,A,C,A,D,A,E,A,F,A,G)
hold on;
axis([10 100 -10 0])
xlabel('length')
ylabel('BER')
legend('AAAAAAAAAA','BBBBBBBBBB','CCCCCCCCCC','DDDDDDDDDD','EEEEEEEEEEE','FFFFFFFFFF')
댓글 수: 2
답변 (1개)
Azzi Abdelmalek
2015년 6월 22일
You can specify the location outside
A=0:0.1:10
B=sin(A)
C=cos(A)
D=B.^2
E=C.^2
F=A.^2/100
G=-F
plot(A,B,A,C,A,D,A,E,A,F,A,G)
%hold on;
%axis([10 100 -10 0])
xlabel('length')
ylabel('BER')
leg={'AAAAAAAAAA','BBBBBBBBBB','CCCCCCCCCC','DDDDDDDDDD','EEEEEEEEEEE','FFFFFFFFFF'}
legend(leg,'Location','EastOutside')
댓글 수: 3
Azzi Abdelmalek
2015년 6월 22일
편집: Azzi Abdelmalek
2015년 6월 22일
Like I said, look at File Exchange contributions, copy <http://www.mathworks.com/matlabcentral/fileexchange/27389-columnlegend/content//columnlegend/columnlegend.m this function> and use it.
leg={'AAAAAAAA','BBBBBBBB','CCCCCCCC','DDDDDDDD','EEEEEEEEE','FFFFFFFF'}
[legend_h,object_h,plot_h,text_strings] = columnlegend(2, leg)
참고 항목
카테고리
Help Center 및 File Exchange에서 Legend에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!