在一个图中有多个轴,我们可以在文本函数matlab中指定手柄轴吗?

时间:2014-05-30 09:58:46

标签: matlab

我在matlab中的函数文本有问题

function plot_circles(ax)
hold on
elev=[0 15 30 45 60 90];
elev=elev*pi./180;
R=1;
teta=0:pi/60:2*pi;
for i=1:length(elev)
   plot(ax,R*sin(elev(i))*cos(teta),R*sin(elev(i))*sin(teta),'k.');
   text(R*sin(elev(i))*cos(pi/2),R*sin(elev(i))*sin(pi/2)+0.05,num2str(elev(i)*180/pi));
end

它很好但是对于我的工作,我会在一个图中创建多个轴

h_fig=figure('Color',[1 1 1]);
ax1=axes('Position',[0.05 0.1 0.4 0.8]);axis off
ax2=axes('Position',[0.5 0.6 0.45 0.3]);axis off
ax3=axes('Position',[0.5 0.05 0.4 0.3]);axis off
plot_circles(ax1);
plot_circles(ax2);
plot_circles(ax3);

我该怎么做?

1 个答案:

答案 0 :(得分:1)

您可以使用text property value pair在呼叫parent时设置轴。替换行

text(R*sin(elev(i))*cos(pi/2),R*sin(elev(i))*sin(pi/2)+0.05,num2str(elev(i)*180/pi));

text(R*sin(elev(i))*cos(pi/2),R*sin(elev(i))*sin(pi/2)+0.05,num2str(elev(i)*180/pi),...
    'parent',ax);

将文本添加到所需的轴!

额外注意: hold on功能将应用于当前轴而非ax替换hold(ax,'on')将应用保持轴{{1} }}

输出

这里所做的两项更改都是输出:

enter image description here