MATLAB How to make 2D plot of points with different colors?

AI Thread Summary
The discussion centers on creating a 2D plot in MATLAB where points are colored based on a separate variable. The user initially attempted to plot points using a loop to assign colors based on values of 1 or -1, resulting in red and blue points. However, the original code did not function as intended. After receiving suggestions, the user switched to using the `scatter` function instead of `plot`, which allowed for successful implementation of the desired color-coding. The final working command utilizes `scatter` with the appropriate parameters to achieve the desired visual representation of the data points.
kelvin490
Gold Member
Messages
227
Reaction score
3
I want to make a 2D plot of points with different x, y coordinates and have colors depending on a separate variable. I have make column vectors for x and y coordinates and another column containing 1 or -1. I would like to represent the points with 1 as red and -1 as blue points. I have codes as follow:
Matlab:
x_dis=rho_rec(1:nDis,xCol,step);%x coordinates
y_dis=rho_rec(1:nDis,yCol,step); %y coordinates
bv=rho_rec(1:nDis,bvCol,step); % 1 or -1

for i=1:1:nDis
   if bv(i)==1
        dis_color(i,1:3)=[0 0 1]; %blue
    elseif bv(i)==-1
        dis_color(i,1:3)=[1 0 0]; %red
    end
end

plot(x_dis,y_dis,'.','Color',dis_color(1:nDis,:))

However it doesn't work. How should I modify the code? Thank you.
 
Last edited by a moderator:
Physics news on Phys.org
I have changed to use scatter instead of plot, as suggested by other
So the command becomes:

scatter(x_dis,y_dis,[],dis_color(1:nDis,:),'.')

It works like a charm
 

Similar threads

Replies
8
Views
2K
Replies
3
Views
7K
Replies
1
Views
2K
Replies
2
Views
3K
Replies
1
Views
2K
Replies
4
Views
1K
Back
Top