# plot multiple points in multiple colors

6 views (last 30 days)
ankita on 5 Mar 2014
Commented: Muhammad Imran on 5 Mar 2014
I am trying to plot the peaks and their harmonics. Figure 5 plots the peaks between 0-135 Hz and figure 6 plots the peaks and their harmonics between the normal frequency range i.e. 0-2000 Hz.
The first part of Figure 6 plots normal graph between freq_s(0-2000 Hz) and Signal_fft_hilbert. I want to plot xx2 peaks on this plot. I am not able to draw this plot. I want to mark these points in different colors for each 'k'.Also I am getting error with regards to size of freq_s and xx2. Can somebody suggest anything?
figure(5)
ind = (freq_s>=0 & freq_s<= 135); %// logical index to select desired range
[peaks, locs] = findpeaks(abs(Signal_fft_hilbert(ind)))
plot(freq_s(locs),abs(Signal_fft_hilbert(locs)))
hold on
plot(freq_s(locs),peaks,'*g')
for k=1:length(peaks)
z=z+1;
top1{k}=freq_s(locs(k));
for s1=1:length(peaks)
xx{s1}=top1{k}*s1;
end
[xx1]=[xx(:)]
xx2=cell2mat(xx1);
figure(6)
plot(freq_s(2:250),abs(Signal_fft_hilbert(2:250)))
hold on
plot(freq_s,xx2,'*g')
end
Muhammad Imran on 5 Mar 2014
If the data is of differrent in dependenta variable and you wish to plot in same figure you can use command (plotyy)

Paul on 5 Mar 2014
Edited: Paul on 5 Mar 2014
col=1:numel(peaks);
scatter(freq_s(locs),peaks,[],col)
You can specify the size of the circles where [] is. Im not sure what xx2 is supposed to be. But if you want to plot that replace peaks with xx2.