| 1 |
cnh |
1.1 |
% key.m |
| 2 |
|
|
% |
| 3 |
|
|
% key(linestyle1,label1, [linestyle2,label2,] ...) |
| 4 |
|
|
% |
| 5 |
|
|
function [] = key(varargin) |
| 6 |
|
|
nargs=nargin; |
| 7 |
|
|
if mod(nargs,2) ~= 0 |
| 8 |
|
|
sprintf('Error: needs even number of arguments') |
| 9 |
|
|
return |
| 10 |
|
|
end |
| 11 |
|
|
|
| 12 |
|
|
ax=axis; |
| 13 |
|
|
dx=1/15*(ax(2)-ax(1)); |
| 14 |
|
|
rm=ax(2)-dx/2; |
| 15 |
|
|
lm=rm-4*dx; |
| 16 |
|
|
dy=1/15*(ax(4)-ax(3)); |
| 17 |
|
|
bm=ax(3)+dy/2; |
| 18 |
|
|
tm=bm+nargs/2*dy; |
| 19 |
|
|
|
| 20 |
|
|
hold on |
| 21 |
|
|
patch([lm-1.1*dx rm rm lm-1.1*dx],[tm+dy/2 tm+dy/2 tm-nargs/2*dy tm-nargs/2*dy],'w') |
| 22 |
|
|
hold off |
| 23 |
|
|
|
| 24 |
|
|
hold on |
| 25 |
|
|
for j=1:2:nargs-1; |
| 26 |
|
|
y=tm-(j-0.5)*dy/2; |
| 27 |
|
|
plot([lm-dx lm-0.1*dx],y*[1 1],varargin{j}) |
| 28 |
|
|
text(lm,y,varargin{j+1}) |
| 29 |
|
|
end |
| 30 |
|
|
hold off |