2012-12-03 11 views
5

ho implementato un algoritmo e qui è una trama dal mio libro risorsa:Matlab Mettere etichette sui cluster

enter image description here

Sono nuovo di Matlab. Ho una lista xValues, lista yValues ​​(ho diviso la mia matrice finale in assi xey, non sono sicuro che sia vera, se mi fai un suggerimento che sei il benvenuto) e un vettore di etichette.

Desidero ottenere un'immagine come in precedenza. Come posso inserire alcune etichette di classe (ad esempio 0,1,2,3 ..) come se fossero immagini simili?

PS: I trama come quello: plot(xValues,yValues,'b.'); tuttavia i miei punti sono come il diamante, non il punto come nell'immagine.

risposta

2

È possibile utilizzare text per stampare il testo sulla scena. (Matlab aiuto :)

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. 

Avrete bisogno di sapere dove sul grafico che si desidera tracciare il testo, ma si può fare questo:

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

che vi darà questa:

enter image description here

È possibile aggiungere diversi stili di testo ecc. Con le normali annotazioni di matlab. È inoltre possibile aggiungere automaticamente il numero desiderato per il cluster con il comando sprintf come ho mostrato quando ho tracciato il 8.

Buona fortuna.

+0

Mi sembra qualcosa di diverso utilizzato nell'immagine in questione. Sembra che la persona che ha tracciato l'immagine non le abbia inserite nell'immagine 1 per 1 con alcune funzioni, ad esempio il testo. Ci sono etichette di classe, cioè 0 quasi sovrapposte, quindi sembra che Matlab le abbia messe automaticamente. – kamaci

+0

@kamaci Io non la penso così, non ho mai visto una funzione farlo, ma potrebbe essere una funzione personalizzata che include 'testo', inoltre puoi sovrapporre i numeri semplicemente facendo in modo che la posizione in X e Y siano ravvicinati. –

+0

Forse hai ragione, voglio dire che la persona che vuole mettere le etichette a mano potrebbe non voler mettere etichette sovrapposte. – kamaci

Problemi correlati