Scatter plot with different colours
Show older comments
Hopefully this is possible to be done.
Say I have an 10x2 array called "matrix1" and another 10x1 array called "matrix2".
"matrix2" is only made up of 1's and 2's
Using scatterplot I can plot matrix1(:,1) vs matrix1(:,2) easily like so,
scatter(matrix1(:,1),matrix1(:,2))
BUT what I want is to use "matrix2" to colour code the plots. For example if a row in "matrix2" shows a "1" the corresponding row number in "matrix1" is blue on the scatter plot and if "matrix2" shows a "2" the corresponding row number in "matrix1" is red on the scatter plot.
Any ideas would be much appreciated. I have looked at gscatter and groupings but getting a bit lost!
Craig
Accepted Answer
More Answers (3)
Walter Roberson
on 25 Jan 2014
pointsize = 12;
colormat = matrix1(:,2);
scatter(matrix1(:,1), matrix1(:,2), pointsize, colormat);
Jos (10584)
on 17 Feb 2014
Using GSCATTER is not that difficult:
matrix1 = rand(10,2) ; % [X,Y] data
matrix2 = rand(10,1)>0.5 ; % Grouping (0 or 1)
ph = gscatter(matrix1(:,1),matrix1(:,2), matrix2) % grouped scatter plot
% make it a little prettier
set(ph(1),'color','b','marker','s','markersize',20,'markerfacecolor','y','linewidth',2)
2 Comments
vivek GB
on 8 Sep 2016
how to put axis limit in gscatter? xlim,ylim doesnt work when i tried
Image Analyst
on 8 Sep 2016
What did you try? When I used Jos's code and added this at the end
xlim([-2,2]);
ylim([-5,10]);
it worked. What did you do differently?
KONSTANTINOS
on 22 Jun 2023
0 votes
Hi guys I also face the same problem and I would appreciate some help.
I have an 60*8 table where column 1 is "Name" and column 2 is "Run"

Now I also want to do a scatter plot with different shape for the name and different color for the run for the legend but it gets more complicated.
As you see they all are repeated twice and ideally i want to plot for X the first value and for Y the second value (I'm talking rows sorry if i cause any missunderstanding) for example. Francois (lets say shape 'o' ) WeightL (lets say colour 'green') and x would be asymmetry1 row1 and y would be asymmetry row2 and so on till end.
Any ideas?
Categories
Find more on Scatter Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!