How to extract colorbar value of all pixels in figure?

7 views (last 30 days)
For example, if the following documentation code is used...
figure(1)
N = 1024;
n = 0:N-1;
w0 = 2*pi/5;
x = sin(w0*n)+10*sin(2*w0*n);
s = spectrogram(x);
spectrogram(x,'yaxis')
The spectogram attached is produced, and when the data cursor is used, the value "index" gives the pixels value on the colorbar. How can I extract this value for all pixels in the figure?

Answers (1)

J Philps
J Philps on 30 May 2017
The color data can be accessed through the CData of the Image. I have modified your sample code to populate the variable 'spectData' with the corresponding 'Index' information that you were accessing through the data cursor:
figure(1); N = 1024; n = 0:N-1; w0 = 2*pi/5; x = sin(w0*n)+10*sin(2*w0*n); s = spectrogram(x); spectrogram(x,'yaxis')
ax = gca; spectData = ax.Children.CData;
The resulting spectData will be a 129x7 double.

Categories

Find more on Colormaps in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!