图形标注
对坐标轴进行标注的命令:
title 向图形中添加标题
xlabel 为X轴添加标签
ylabel 为Y轴添加标签
zlabel 为Z轴添加标签
legend 向现有的图形中添加图例
text 在图形的指定位置显示文本
gtext 用鼠标将文本放置在图形中
________________________________________________________________________________
3.1 单个坐标轴的标注
t=0:pi/20:2*pi;
plot(t,sin(t));
xlabel(‘t=0 到 2pi’,’FontSize’,16);
ylabel(‘sin(t)’,’FontSize’,16);
title(‘it{从0 到 2pi 的正弦曲线}’,’FontSize’,16);
3.2 将文本字符串添加到图形中
t=0:pi/20:2*pi;
plot(t,sin(t));
xlabel(‘t=0 到 2pi’,’FontSize’,16);
ylabel(‘sin(t)’,’FontSize’,16);
title(‘it{从0 到 2pi 的正弦曲线}’,’FontSize’,16);
text(3*pi/4,sin(3*pi/4),’leftarrow sin(t)=0.707′,’FontSize’,16);
text(pi,sin(pi),’leftarrow sin(t)=0′,’FontSize’,16);
text(5*pi/4,sin(5*pi/4),’sin(t)=-0.707 rightarrow’,‘HorizontalAlignment’,’right’,’FontSize’,16);
gtext(‘第一个点’);
gtext(‘第二个点’);
gtext(‘第三个点’);
3.3 文本的经确定位
t=0:900;
plot(t,0.25*exp(-0.005*t));
text(300,0.25*exp(-0.005*300),…
‘bullet leftarrow fontname{times} 0.25{ite}^{-0.005{iti}} 此处是{iti}=300的值’,…
‘FontSize’,14); % 注意,it表示“斜体”
3.4 文本对齐
水平对齐和垂直对齐
水平对齐命令和参数:
HorizontalAlignment=Left/Center/Right
(注:Left,文字放在曲线右边,Center是中间,Right是左边)
VerticalAlignment=Middle/Top/Cap/Baseline/Bottom
(注:Middle覆盖在x轴正向,Top紧贴x轴正向的下方,Cap文字紧贴x轴正向的下方,Baseline文字紧贴在x轴正向的上方,Bottom紧贴x轴正向的上方)
3.5 指定TeX字符
alpha=-.02;
beta=.5;
t=0:4:200;
y=exp(-alpha*t).*sin(beta*t);
plot(t,y);
title(‘{itAe}^{-alphaitt}sinbeta{itt} ; when alpha<<beta’,’FontSize’,16);
xlabel(‘Time mu sec.’,’FontSize’,16);
ylabel(‘Amplitude’,’FontSize’,16);
3.6 文本字符串中使用变量
PersonalData=[‘Jack Starw ‘;’489 Main st.’;’Wichita KN ‘];%每一个数据占用12个字符,不够的要用空格补齐
text(0.11,0.11,[‘Name:’,PersonalData(1,:)],’FontSize’,14); %这是一个x,y最大值都为1的坐标系,是默认的
text(0.22,0.22,[‘Address:’,PersonalData(2,:)],’FontSize’,14);
text(0.33,0.33,[‘City and State:’,PersonalData(3,:)],’FontSize’,14);
x=21;
text(0.44,0.44,[‘Today is the ‘,num2str(x),’st day.’]);%利用num2str使得可以在字符串中直接使用数字变量
3.7 应用
eg1:标注曲线最高点和最低点
Z=peaks;
h=plot(Z(:,25));
%使用get函数和find函数获取最大值和最小值的索引号
x=get(h,’XData’);
y=get(h,’YData’);
imin=find(min(y)==y);
imax=find(max(y)==y);
text(x(imin),y(imin),[‘bullet leftarrow 最小值 = ‘,num2str(y(imin))],…
‘VerticalAlignment’,’middle’,’HorizontalAlignment’,’left’,’FontSize’,12);
text(x(imax),y(imax),[‘最大值 = ‘,num2str(y(imax)),’ rightarrow bullet’],…
‘VerticalAlignment’,’middle’,’HorizontalAlignment’,’right’,’FontSize’,12);
eg2 多行文本的标注
% % 利用单元阵列(即Cell Array)来实现多行标注
str1(1)={‘UI控制中的每一行都居中’};
str1(2)={‘此处调用的是Matlab中的uicontrol函数’};
str2(1)={‘Each cell is a quoted string’};
str2(2)={‘每一个单元引用一个字符串’};
str2(3)={‘You can specify how the string is aligned’};
str2(4)={‘你可以指定字符串如何排列’};
str2(5)={‘You can use LeTeX symbols like Pi pi chi chi Xi Xi’};
str2(6)={‘你可以像LeTeX一样显示这些字符pipi chi chiXi Xi‘};
str2(7)={‘bfOr use bold rm itor italic font rm’};
str2(8)={‘bf或者使用粗体 rm it或者斜体 rm ‘};
str2(9)={‘fontname{courier} Or even change fonts’};
str2(10)={‘fontname{courier} 或者改变字体’};
plot(0:6,sin(0:6)); %绘制所需要标注的图形
uicontrol(‘Style’,’text’,’Position’,[80 80 250 65],’String’,str1,’FontSize’,12);
text(5.75,sin(2.5),str2,’HorizontalAlignment’,’right’,’VerticalAlignment’,’baseline’,’FontSize’,12);