Azzera filtri
Azzera filtri

How to count the number of scatter points of each color

4 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

Voss
Voss il 8 Giu 2024
idx = [S1(num_fixed_nodes+1:num_nodes).node_status]==1;
n_green = nnz(idx);
n_red = nnz(~idx);
  2 Commenti
muhammad farttoos
muhammad farttoos il 10 Giu 2024
Thank you for your answer it solved my prolem
Voss
Voss il 10 Giu 2024
You're welcome! Any questions, let me know. Otherwise, please "Accept" this answer. Thanks!

Accedi per commentare.

Più risposte (1)

Steven Lord
Steven Lord il 10 Giu 2024
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.

Categorie

Scopri di più su Discrete Data Plots in Help Center e File Exchange

Prodotti


Release

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by