Designating color to value in contourf
21 views (last 30 days)
Show older comments
Jason Redding
on 15 Jun 2018
Commented: Jorge Pascual
on 3 Dec 2019
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 Comments
Walter Roberson
on 15 Jun 2018
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?
Accepted Answer
Walter Roberson
on 15 Jun 2018
Using hints from https://www.mathworks.com/matlabcentral/answers/363059-how-do-i-label-a-contour-plot-in-the-same-colors-as-the-contour-lines#answer_287606
[~, hContour] = contourf(YourData, [0, other_levels_go_here]);
idx = hContour.LevelList == 0;
hContour.FacePrims(idx).ColorData = uint8([255; 255; 255; 255]);
More Answers (1)
Jorge Pascual
on 3 Dec 2019
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 Comments
Walter Roberson
on 3 Dec 2019
Is idx possibly coming out empty? Is hCounter possibly coming out empty?
Jorge Pascual
on 3 Dec 2019
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]);
See Also
Categories
Find more on Contour Plots 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!