How to count the number of scatter points of each color

I have make a code that do the scatter points in a graph, but i need to find the number of scatter points of each color? i have attached the sample code and graph for explaintion
for h=num_fixed_nodes+1:1:num_nodes
%Generate random nodes within the region
S1(h).xd = position_region(i,1) + rand(1,1)*region_width;
S1(h).yd = position_region(i,2) + rand(1,1)*region_height;
S1(h).G=0;
S1(h).id=h;
S1(h).type='N';
S1(h).temp = interp2(aa1,bb1,temp_values_1,S1(h).xd,S1(h).yd);
S1(h).E=Eo*rand(1,1);
Et=Et+S1(h).E;
S1(h).node_status = S1(h).temp<thresh_temp;
if(S1(h).node_status==1)
scatter(S1(h).xd,S1(h).yd, 'filled','MarkerFaceColor','g');
else
scatter(S1(h).xd,S1(h).yd, 'filled','MarkerFaceColor','r');
end
end

 Accepted Answer

idx = [S1(num_fixed_nodes+1:num_nodes).node_status]==1;
n_green = nnz(idx);
n_red = nnz(~idx);

2 Comments

Thank you for your answer it solved my prolem
You're welcome! Any questions, let me know. Otherwise, please "Accept" this answer. Thanks!

Sign in to comment.

More Answers (1)

Rather than creating one scatter plot for each individual point, I'd use that loop to create a vector of data that indicates in which color each point should be plotted then call scatter once after the loop is complete, passing that vector in as the c input argument. In that case you could use the groupcounts function to count how many elements of each color are in c.

Products

Release

R2023b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!