Get the facecolor of a contourf plot

30 visualizaciones (últimos 30 días)
Giorgos Papakonstantinou
Giorgos Papakonstantinou el 10 de Mzo. de 2014
Comentada: Johannes Korsawe el 26 de En. de 2015
I would like to find the facecolor of the the contourf patches. For example if :
[X,Y,Z] = peaks;
figure
contourf(X,Y,Z,4)
I would like to get the 5 different facecolors of the patches of the contour.
Thank you

Respuestas (1)

Doug Hull
Doug Hull el 11 de Mzo. de 2014
[X,Y,Z] = peaks;
[l, h] = contourf(X,Y,Z,4)
hp = get(h,'children')
get(hp,'cdata')
colorbar
This gets you the value of the cdata. Look at the colormap to get the actual RGB color. Look at the colorbar to see what those values correspond to.
  5 comentarios
Kelly Kearney
Kelly Kearney el 12 de En. de 2015
On the plus side, the new version stores the exact color value, so you don't need to use the color interpolation trick. On the down side, the properties are buried under a few layers of undocumented properties, so this may change down the road:
[X,Y,Z] = peaks;
[l, h] = contourf(X,Y,Z,4);
rgba = double(cat(2, h.FacePrims.ColorData))./255;
col = rgba(1:3,:)';
Johannes Korsawe
Johannes Korsawe el 26 de En. de 2015
Kelly, is there some undocumented chance for some magic to set some FaceAlpha-Values for the plotted areas of the contourf-command?

Iniciar sesión para comentar.

Categorías

Más información sobre Contour Plots en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by