概述
想画一个坐标轴箭头,需要知道axis的坐标:
x1=linspace(0,1,100);
y1=x1.^2;
figure1 = figure('PaperPosition',[0.6345 6.345 20.3 15.23],'PaperSize',[20.98 29.68]);
axes1 = axes('Parent',figure1);
hold(axes1,'all');
plot1 = plot(x1,y1);
% axis square
pos = get(axes1, 'position');
annotation('arrow', [pos(1), pos(1)+pos(3)], [pos(2) pos(2)+pos(4)]);
可以看出这个代码:
pos = get(axes1, 'position');
能得出axis的正确的坐标。
但是加上这个
axis square
x1=linspace(0,1,100);
y1=x1.^2;
figure1 = figure('PaperPosition',[0.6345 6.345 20.3 15.23],'PaperSize',[20.98 29.68]);
axes1 = axes('Parent',figure1);
hold(axes1,'all');
plot1 = plot(x1,y1);
axis square
pos = get(axes1, 'position');
annotation('arrow', [pos(1), pos(1)+pos(3)], [pos(2) pos(2)+pos(4)]);
这几个黑框就是就是pos = get(axes1, 'position');计算出来的坐标。
但是加上axis square,就不知道问题出在那了?就找不到坐标轴原点的坐标了。
微博上星空下的巫师,给了两个链接, http://www.mathworks.com/matlabcentral/fileexchange/30018和http://www.mathworks.com/matlabcentral/fileexchange/32168,第一个链接中自己感觉有个问题
figure,
x = 1:10;
y = x.^2;
plot(x, y, '-r', 'LineWidth', 2);
axis off;
oa = oaxes;
set(oa, 'TickLength', [10 10]);
set(oa, 'Arrow', 'end');
grid on
oa.Origin = [0 0 0];
从图中可以看出来,这个箭头的形状是和这个轴上TickLength相关联的,在个图中Ticklength太长了不好看。感觉还是不如这个annotation用的方便,但是就找到要画的坐标不容易。求解决。。
最后
以上就是风中烤鸡为你收集整理的关于Matlab坐标轴的Position的全部内容,希望文章能够帮你解决关于Matlab坐标轴的Position所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复