Designating color to value in contourf

14 次查看(过去 30 天)
I have a data range from 0 to ~66000 and I need to plot the color white only when z=0 in contourf. I have read through the colormap options related to contourf and none of them suit such a large data set or provide a specific enough answer. There must be an easy fix for this! Thanks in advance!
  2 个评论
Walter Roberson
Walter Roberson 2018-6-15
Could you confirm that white should be displayed only for z = 0 exactly , and not for z = 0.0001 or z = 1?
Are you supplying a contour level for 0 and a different contour level for the smallest non-zero value?
Jason Redding
Jason Redding 2018-6-15
Yes, white should be displayed for z=0 only. My data is only counts though (all integers), so there are no decimals.
Yes, the goal is to give 0 its own contour level and then everything else (the smallest non-zero value and above) be scaled according to the data (which can change) if possible.

请先登录,再进行评论。

采纳的回答

Walter Roberson
Walter Roberson 2018-6-15
[~, hContour] = contourf(YourData, [0, other_levels_go_here]);
idx = hContour.LevelList == 0;
hContour.FacePrims(idx).ColorData = uint8([255; 255; 255; 255]);

更多回答(1 个)

Jorge Pascual
Jorge Pascual 2019-12-3
Good afternoon,
I have a picture about a foot with differents values of pressure, I would like to create a Pedobarography with this values, but as I have a 2D matrix I am having some problems. I would like to fix the maximun value in red, the lowest in blue, and then the rest of the image that isn't foot in black.
Using the answer that @Walter Roberson said I have this error " Unrecognized property 'ColorData' for class 'matlab.graphics.GraphicsPlaceholder'" or maybe I don't undertand how I have to fill the variables that he said.
Thank you in advanced.
  2 个评论
Walter Roberson
Walter Roberson 2019-12-3
Is idx possibly coming out empty? Is hCounter possibly coming out empty?
Jorge Pascual
Jorge Pascual 2019-12-3
The matrix is about 719x272, where the values go between 0-60 and 0 is outside the foot.
So I fill de varibles in this way:
[~, hContour] = contourf(Pedobarography1, [0, 60]);
idx = hContour.LevelList == 0;
hContour.FacePrims(idx).ColorData = uint8([255; 255; 255; 255]);

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Colormaps 的更多信息

产品


版本

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by