2012-12-03 82 views
5

我已经实现的算法,这里是从我的资源书一个情节:Matlab的扣帽子的集群

enter image description here

我是新来的Matlab的。我有一个xValues列表,yValues列表(我已经将最终矩阵分成了x和y轴,我不确定是否是真的,如果你提出一个建议,欢迎你)和一个标签向量。

我想像上面那样得到一张图片。我怎么能像给定的图像一样放置一些类标签(即0,1,2,3 ..)?

PS:我的情节如下:plot(xValues,yValues,'b.');但是我的点像钻石一样,没有像图像中的点。

回答

2

您可以使用text来绘制场景中的文字。 (Matlab的帮助:)

text(X,Y,'string') adds the text in the quotes to location (X,Y) 
on the current axes, where (X,Y) is in units from the current 
plot. 

你需要知道你要绘制文本的图形,但你可以这样做:

x = -pi:.1:pi; 
y = sin(x); 
p = plot(x,y) 

text(-pi/4,sin(-pi/4),'7') 
text(-pi/4+1,sin(-pi/4),sprintf('%d', 8)) 
text(-pi/4+2,sin(-pi/4),'9') 

,这将给你:

enter image description here

你可以添加不同的文本样式等与常规的matlab注释的东西。您也可以使用sprintf命令自动添加您想要的群集数量,如我在绘制8时显示的那样。

祝您好运。

+0

这似乎是我在图像问题上使用的不同东西。看起来像绘制图像的人没有将它们放入图像1中,而是使用一些功能,即文本。有类标签,即0几乎重叠,所以它看起来像Matlab自动把它们。 – kamaci

+0

@kamaci我不这么认为,我从来没有见过这样的功能,但它可能是一些自定义函数,包括'text',也可以通过使X和Y的位置靠近在一起来重叠数字。 –

+0

您可能是对的,我的意思是想要手工放置标签的人可能不想放置重叠标签。 – kamaci