How can I give a different legend for each element of a vector in a scatter plot?
Mostrar comentarios más antiguos
Hi! I'm a beginner at Matlab and I'm having trouble to assign legend to my data in plots. Let's say I have three samples named 'a', 'b', 'c' which have X values of A e y values of B.
A=[1:3]; B=[9:11];
(example: sample 'a' has a value of 1 in the X axis and 9 in the y axis)
I created a string C=['a,b,c'] for the legend, but when I plot them and insert legend I don't get what I mean. This is what I did:
scatter(A,B); legend(C); And this is what Matlab returned:

What I wanted was that each marker could be assigned a different legend, since they refer to different samples. When I created separated variables for each sample, I could do what I wanted, but I'm sure there might have a simpler way of doing it.
p.s.: This is just an example, my real data might have up to 130 samples!
Respuestas (3)
Walter Roberson
el 27 de Jul. de 2015
You cannot do that with scatter() and legend() in a single scatter call. scatter() only creates a single graphics object per call.
If you want to label the object "near" the dot, then consider
scatter(A,B); text(A,B,{' a',' b',' c'})
Notice the two extra spaces I put before each letter: that is to move the letter away from the dot.
If you want to use legend then:
for K = 1 : length(A);scatter(A(K),B(K)); hold on; end; legend({'a','b','c'})
Star Strider
el 27 de Jul. de 2015
You have to plot the individual data (or groups of data) separately, and you need to use a cell array for the legend, since the square brackets [] concatenate string arrays:
A=[1:3]; B=[9:11];
C={'a', 'b', 'c'};
figure(1)
hold on
for k1 = 1:length(A)
scatter(A(k1),B(k1))
end
hold off
legend(C)
2 comentarios
Rayza Rosa Tavares Rodrigues
el 28 de Jul. de 2015
Star Strider
el 28 de Jul. de 2015
My pleasure!
If my Answer solved your problem, please Accept it.
Azzi Abdelmalek
el 27 de Jul. de 2015
A=[1:3];
B=[9:11];
figure;
hold on
for k=1:numel(A)
scatter(A,B,'facecolor','b')
end
hold off
legend({'a','b','c'})
Categorías
Más información sobre Legend en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!