如何在Matlab中添加箭头到线图?

时间:2010-09-30 12:41:44

标签: matlab plot

我想在Matlab中用线条绘制箭头来说明流程。理想情况下,箭头位于指向线方向的线上。这可能吗?

5 个答案:

答案 0 :(得分:5)

要在Matlab中绘制箭头,请使用名为arrow.m

的文件交换免费软件包

答案 1 :(得分:3)

另一种方法是在FileExchange上使用出色的提交 - ARROW.M

另见关于SO的其他相关问题:

答案 2 :(得分:1)

箭袋功能应该能够做你想要的。但是,您必须自己计算箭头的方向。

有些事情是丑陋的,但应该让你开始(但你可能想要规范化方向向量以获得更好的图形)

plot(x,y)
hold on
quiver(x(1:end-1),  y(1:end-1), ones(len(x)-1,1), y(2:end) - y(1:end-1))

答案 3 :(得分:1)

如果我理解正确,您正在尝试查看矢量字段? 如果是这种情况,这是一个有效的例子:

%# function: f(x,y)=x^3-2y^2-3x over x=[-2,2], y=[-1,1]
[X Y] = meshgrid(-2:.1:2, -1:.1:1);
Z = X.^3 -2*Y.^2 -3*X;

%# gradient of f
[dX dY] = gradient(Z, .1, .1);

%# plot the vector field and contour levels
figure, hold on
quiver(X, Y, dX, dY)
contour(X, Y, Z, 10)
axis equal, axis([-2 2 -1 1])
hold off

%# plot surface
figure, surfc(X, Y, Z)
view(3)

vector field saddle surface

答案 4 :(得分:0)

您可以使用函数annotation为图添加箭头。

请注意,对象的父级不是轴,而是图形窗口iteslf(意味着当您放大/缩小时,箭头将保持在图形窗口中的相同位置)。