Changing colors for findpeaks function

9 vues (au cours des 30 derniers jours)
Pushti Shah
Pushti Shah le 8 Sep 2022
Commenté : dpb le 10 Sep 2022
I wanted to graph male and female find peaks graphs together and have the graphs be blue and pink. Is there any way for me to change the colors in the code itself?
[numRows,~] = size(male_data);
x = numRows;
[pk,loc] = findpeaks(male_data,x);
plot(x, y, '-', pk, loc, 'Color', [0.9414, 0.5664, 0.6055]); % is there any way to control color?
That was as close as I got but it is giving me an error. Male_data is an array.

Réponses (1)

dpb
dpb le 8 Sep 2022
Sure, but not with the triplet form of plot to use anything except the named colors...
hL=plot(x,y,'-', pk,loc,'*'); % plot the two, default color first, save line handles
set(hL,'Color',[0.9414, 0.5664, 0.6055]) % now set the color triplet
  2 commentaires
Pushti Shah
Pushti Shah le 10 Sep 2022
Modifié(e) : Pushti Shah le 10 Sep 2022
[numRows,~] = size(male_trans);
x = numRows;
y = (mean(male_trans(x)));
[pk,loc] = findpeaks(y,x);
hL = plot(x, y, '-', pk, loc);
set(hL,'Color',[0.4688, 0.6563, 0.9375])
^ I have this written but for some reason there's an error at the [pk,loc]
saying:
Error using findpeaks>parse_inputs (line 206)
Data set must contain at least 3 samples.
Error in findpeaks (line 136)
= parse_inputs(isInMATLAB,Yin,varargin{:});
dpb
dpb le 10 Sep 2022
Well, yes,..when you wrote
[numRows,~] = size(male_trans);
x = numRows;
y = (mean(male_trans(x)));
numRows is a single value and so, then, will be male_trans(x)) and even if you wrote male_trans(x,:)) to take the whole row, then mean(male_trans(x)) would turn it back into a single value anyway. Can't find a peak with only one point...

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by