Changing colors for findpeaks function

7 Ansichten (letzte 30 Tage)
Pushti Shah
Pushti Shah am 8 Sep. 2022
Kommentiert: dpb am 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.

Antworten (1)

dpb
dpb am 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 Kommentare
Pushti Shah
Pushti Shah am 10 Sep. 2022
Bearbeitet: Pushti Shah am 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 am 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...

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by