MATLAB: How to make a CWT like plot – spectral plot


I have a 3d matrix Z with the elements (t,f,a)
t= time
f= instantaneous frequency
a= instantaneous amplitude
(t,f,a) = at time t, the frequency is f and the amplitude is a. I want to make a continuous wavelet like plot of this or in general I want to make a colorful spectral plot out of this information, where t will be the x axis, f will be the y axis and the color of the point will depend on a.
I would be grateful if you could help me how to work this out.

Best Answer

  • You can use imagesc() or scatter() to create those kinds of plots. Scatter would be easier to implement but since your coordinates are regularly spaced you could grid your data fairly easily. Or use griddata() to do the gridding for you.
    There is pcolor() as well, but that interpolates colors between points, giving an (N-1) x (M-1) output rather than an N x M output.