1

我正在尝试绘制一些注释以配合我的阶跃函数图。我目前有这些图表,我一直在试图弄清楚如何绘制指向垂直线的水平箭头。我还需要指向水平线的标记垂直线。

我附上了一张图片,显示(红色)我的意思。我已经尝试过 annotation() 函数,但是将箭头放在我想要的位置确实很痛苦。如果有人不介意解释如何使用该功能或​​我想要实现的替代方法,那将是惊人的!

我想实现的带有箭头的 Matlab 绘图。

编辑:有没有办法编辑箭袋箭头大小?

在此处输入图像描述

4

1 回答 1

0

在 2D 子图中使用 Quiver

不太确定这是否更好或更简单,但我使用该quiver()函数绘制了如下所示的线条。在这种情况下,该quiver()函数接受一些输入。在下面的完整脚本中,我使用了两倍的quiver()调用量来绘制重叠箭头以创建双头箭头。

箭袋箭头注释


函数调用:

quiver(Start_Point(1),Start_Point(2),X_Displacement,Y_Displacement,0);

• <code>Start_Point → 等于[x y]( x-coordinate y-coordinate )
• <code>Start_Point(1) →箭头起点的x 坐标
• <code>Start_Point(2) →箭头起点的y 坐标
X_Displacement→ 距阵列起点的水平距离 • → 距阵列起点
Y_Displacement垂直距离


设置箭头的最大尺寸:

可以使用该'MaxHeadSize'属性设置箭头的最大尺寸。

clf;
Start_Point(1) = 0;
Start_Point(2) = 0;
X_Displacement = 0; Y_Displacement = 10;
Magnitude = sqrt(X_Displacement.^2 + Y_Displacement.^2);

quiver(Start_Point(1),Start_Point(2),X_Displacement,Y_Displacement,0,'Color','r','MaxHeadSize',1/Magnitude);
hold on 

Start_Point(1) = 0;
Start_Point(2) = 0;
X_Displacement = 100; Y_Displacement = 0;
Magnitude = sqrt(X_Displacement.^2 + Y_Displacement.^2);
quiver(Start_Point(1),Start_Point(2),X_Displacement,Y_Displacement,0,'Color','r','MaxHeadSize',1/Magnitude);
于 2021-01-27T04:27:55.703 回答