图形标注

对坐标轴进行标注的命令:

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);

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注