Matlab

2012-12-03 18 views
5
Labels auf Cluster Setzen

Ich habe einen Algorithmus implementiert und hier ist eine grafische Darstellung von meiner Ressource Buch:Matlab

enter image description here

Ich bin neu in Matlab. Ich habe eine xValues-Liste, yValues-Liste (ich habe meine letzte Matrix in X- und Y-Achse geteilt, ich bin mir nicht sicher, ob das wahr ist, wenn Sie einen Vorschlag machen, sind Sie willkommen) und einen Vektor von Labels.

Ich möchte ein Bild wie oben erhalten. Wie kann ich einige Klassenetiketten (d. H. 0,1,2,3 ..) wie ein gegebenes Bild setzen?

PS: Ich zeichne so wie: plot(xValues,yValues,'b.'); aber meine Punkte sind wie Diamant, nicht zeigen wie im Bild.

Antwort

2

Sie können text verwenden, um Text in der Szene zu zeichnen. (Matlab Hilfe :)

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. 

Sie müssen, wo auf dem Diagramm wissen, dass Sie Ihren Text zeichnen, aber Sie können dies tun:

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

welche geben Ihnen diese:

enter image description here

Sie können verschiedene Textstile usw. mit den regulären Matlab Annotation Dings hinzufügen. Sie können auch automatisch die Nummer, die Sie für Ihren Cluster wollen, mit dem Sprintf-Befehl hinzufügen, wie ich gezeigt habe, wenn ich die 8.

Viel Glück.

+0

Es scheint mir etwas anderes auf Bild bei Frage verwendet. Es sieht so aus, als ob die Person, die das Bild gezeichnet hat, sie nicht mit einer Funktion, d. H. Text, in das Bild 1 nach 1 gebracht hat. Es gibt Klassenbezeichnungen, d. H. 0 überlappen sich fast, so dass es so aussieht, als ob Matlab sie automatisch platziert. – kamaci

+0

@kamaci Ich denke nicht, ich habe noch nie eine Funktion gesehen, aber es könnte einige benutzerdefinierte Funktion einschließlich 'Text' sein, auch können Sie die Zahlen nur überlappen, indem Sie dort Position in X und Y nahe zusammen. –

+0

Sie können Recht haben, ich meine, die Person, die Etiketten von Hand setzen will, möchte vielleicht nicht überlappende Etiketten setzen. – kamaci