在MATLAB图中标记具有值的点

8
以下命令可以用正方形标记点,但不会在点上添加数值(例如,(21,0) ...)。
X = [21 8 2 1 0]

Y = [0 1 2 3 4]

plot(X,Y,'k-s')

我应该添加哪个参数,以便所有的5点值都出现在图表上?

这些值不能逐个输入,因为它们是随机数。

1个回答

16
您可以使用 NUM2STRCELLSTRSTRTRIM 函数将坐标值格式化为字符串的单元数组,并使用 TEXT 函数将它们显示在图中:
strValues = strtrim(cellstr(num2str([X(:) Y(:)],'(%d,%d)')));
text(X,Y,strValues,'VerticalAlignment','bottom');

对于上面的示例数据,您的图表将如下所示:

enter image description here


如果我想要做的不是在绘图中使用一个正方形作为符号,而是要使用数字,比如其轴上的值:例如在(0,4)上为0,在(8,1)上为8,该怎么办? - Arturo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接