2014-09-24 87 views
1

我目前正试图自学一些MATLAB绘图函数,我想知道是否可以直接从矩阵绘制到散点图。将数据从单元格绘制到散点图MATLAB

我有这样的1X9单元开始的:

x = ['Dog' [3] [5] 'Cat' [6] [1] 'Goldfish' [7] [8]] 

再创造了这样一个3×3单元出来的:

x = reshape(x.',3,[]).'; 

产生

x = 
    'Dog' [3] [5] 
    'Cat' [6] [1] 
    'Goldfish' [7] [8] 

我现在想做的是从这些数据中创建一个散点图,并使用第一列作为图上的标签。因此,例如点(3,5)将有标签“狗”

不太确定如何做到这一点,但我认为图例函数可能会创建标签。

有没有什么办法可以优雅地做到这一点?

回答

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));