
1、为本人使用matlab做好的一个图,想在上面加上箭头标注看看效果
2、我们点击菜单栏的【插入】
3、然后在【插入】的展开选项中,选择【文本箭头】
4、我们在图中添加一个箭头,并出现文本输入框
5、然后我们在文本输入框中,输入想要输入的字即可
6、依次添加箭头标准如下
主要用到的命令是:annotation(annotation_type)我们首先给出对应的起始点和终点,注意起始点和终点的坐标都必须是小于1的数。紧接着我们首先画一条直线,对应的命令是annotation('line',x,y)。annotation('arrow',x,y)这个命令表示的是从坐标x到坐标y的箭头。并且是单向的箭头。如果不需要画双向箭头,可以使用doublearrow这个命令:annotation('doublearrow',x,y)。annotation('textbox',[xywh])这个表示的是对于文本的注释,方便注释文本。希望我的回答能帮到您。
下面这个是画箭头的程序
其中:P是起点坐标,V是终点坐标,color是颜色,可以输入也可以不输入
就你这个题目,P=[-1,1],V=[1,1]
将下面这个保存为arrow.m
================================
function arrow(P,V,color)
%二维空间中画箭头
% 输入:P=[x0,y0],V=[a,b]
%将以P(x0,y0)为起点,以(x0+a,y0+b)为终点画出箭头
%可以进一步修改为三维空间到箭头,或者是以P为起始点,V为终点的箭头图像
if nargin < 3
color = 'b'
end
x0 = P(1)y0 = P(2)
a = V(1) b = V(2)
l = max(norm(V), eps)
u = [x0 x0+a] v = [y0 y0+b]
hchek = ishold
plot(u,v,color)
hold on
h = l - min(.2*l, .2) v = min(.2*l/sqrt(3), .2/sqrt(3) )
a1 = (a*h -b*v)/l
b1 = (b*h +a*v)/l
plot([x0+a1, x0+a], [y0+b1, y0+b], color)
a2 = (a*h +b*v)/l
b2 = (b*h -a*v)/l
plot([x0+a2, x0+a], [y0+b2, y0+b], color)
if hchek == 0
hold off
end
================================
>>arrow([-1,1],[1,1])
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)