For loop for different step size

Dear Matlab Community,
I have a matrix like
[24 80; 24 80; 24 80; 24 80; 30 120; 30 120; 48 124; 48 124; 48 124]
I need to have a plot that 80, 120, 124 be in the x axis and the numbers 4,2,3 be in the y axis.
We have 4 of 24, 3 of 30 and 3 of 48.
Thanks :)))

 Risposta accettata

M = [24 80; 24 80; 24 80; 24 80; 30 120; 30 120; 48 124; 48 124; 48 124];
[c,g] = groupcounts(M(:,2))
c = 3×1
4 2 3
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
g = 3×1
80 120 124
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
There are your y- and x-axis numbers.
Perhaps one of these plots is what you mean:
x = 1:numel(g);
figure('Position',[10 10 1000 400])
tiledlayout(2,2)
nexttile
plot(g,c)
nexttile
bar(g,c)
nexttile
plot(x,c)
xticks(x)
xticklabels(g)
nexttile
bar(x,c)
xticks(x)
xticklabels(g)

4 Commenti

Neda
Neda il 3 Ott 2024
Thank you Voss,
I did not know about groupcount. What is the meaning of M(:,2) in this command? I know M(:,2), but what is it role in groupcount?
Voss
Voss il 3 Ott 2024

M(:,2) is the second column of M. The code passes the second column of M to groupcounts().

https://www.mathworks.com/help/matlab/ref/double.groupcounts.html

Neda
Neda il 3 Ott 2024
Thank you so much !!!!
Voss
Voss il 3 Ott 2024
You're welcome!

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Loops and Conditional Statements in Centro assistenza e File Exchange

Richiesto:

il 2 Ott 2024

Commentato:

il 3 Ott 2024

Community Treasure Hunt

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

Start Hunting!

Translated by