我在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);
我该怎么做?
答案 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} }}
这里所做的两项更改都是输出: