我目前正在尝试自学一些MATLAB绘图函数,并且我想知道是否可以直接从矩阵绘制到散点图。
我开始使用像这样的1x9单元格:
x = ['Dog' [3] [5] 'Cat' [6] [1] 'Goldfish' [7] [8]]
然后像这样创建一个3 x 3的单元格:
x = reshape(x.',3,[]).';
产生
x =
'Dog' [3] [5]
'Cat' [6] [1]
'Goldfish' [7] [8]
我现在想要做的是从这些数据中创建一个散点图,并使用第一列作为图上的标签。因此,例如,点(3,5)将具有标签" Dog"
不太清楚如何做到这一点,但我认为图例功能可能有助于创建标签。
有没有办法优雅地做到这一点?
答案 0 :(得分:0)
您可以使用text
函数执行此类操作,该函数会在您指定的位置创建文本。所以,如果您像这样绘制数据:
plot(x(:,2),x(:,3),'x');
你可以得到这样的标签:
text(x(:,2),x(:,3),x(:,1));
您可能需要添加一个小常量,以使标签不与点重叠。您可能需要根据自己的喜好来调整一下这个值。
c = 0.1;
text(x(:,2) + c,x(:,3),x(:,1));