在gui中使用文本功能

时间:2016-02-06 14:30:42

标签: matlab

我想使用文本函数将一些信息添加到gui中的曲线。但问题是,当我设置坐标并指定图形的手柄时,我没有在图中显示任何内容。该文本没有显示任何内容。代码在for循环中。但这里是我的代码的一小部分,包含文本函数..

我在其他地方定义了一些矩阵d,s,c,J和mi ..

animh=handles.runAnimationOnAxes;
V=s*Es+c*0.7053*Z^2/A^(1/3)+...
J(it).*(J(it)+1)*(hbar)^2./(2*(mi*2/5*M*r0^2*A^(2/3)+...
4*M*a^2));

p=polyfit(d,V,5);
pol=p(1)*d.^5 + p(2)*d.^4+p(3)*d.^3+p(4)*d.^2+p(5)*d+p(6);

plot(animh,d,pol,'k')
ylabel(animh,'$V(r/R_0)\ (Mev)$','interpreter','latex',...
'FontSize',11);
xlabel(animh,'$r/R_0$','interpreter','latex',...
'FontSize',11);
xlim(animh,[0.3 2.5]);
ylim(animh,[Ymin Ymax]);
title(animh,'MLDM potential energy surface');

indexmin = find(min(pol) == pol);
xmin = d(indexmin);
ymin = pol(indexmin);

indexmax = find(max(pol) == pol);
xmax = d(indexmax);
ymax = pol(indexmax);

strmin = ['Minimum = ',num2str(ymin)];
text(animh,xmin,ymin,strmin);

strmax = ['Maximum = ',num2str(ymax)];
text(animh,xmax,ymax,strmax);

1 个答案:

答案 0 :(得分:1)

text function在其输入参数中没有handle添加字符串的axes

实际上,前两个输入应该是添加字符串的点的x coordy coord

此外,text也可用于在3D图表中添加字符串,因此在您的说明中

text(animh,xmin,ymin,strmin);

text(animh,xmax,ymax,strmax);

轴句柄被解释为x coord,而xmaxymax分别被解释为y coordz coord

如果在您的GUI中只有一个axes,则只需删除调用text中的第一个参数。

如果你的GUI中有多个axes,你应该在axes中添加字符串“当前轴”:

编辑:删除了对text

的调用中的第一个参数
axes(handles.runAnimationOnAxes)

strmin = ['Minimum = ',num2str(ymin)];
text(xmin,ymin,strmin);

strmax = ['Maximum = ',num2str(ymax)];
text(xmax,ymax,strmax);

希望这有帮助。

Qapla'