Heat (or color coded Map) in Matlab
Show older comments
Hello,
I am creating a heatmap in Matlab. For each Sewershed, there is a median income. It is in the shapefile. When I produce the Sewershape in Matlab, I get this...
The command bar reads:
17×1 struct array with fields:
Geometry
BoundingBox
X
Y
Pervious
Impervious
Sewershed
Population
Housing
Acres
Squarefeet
GallonsH2O
SymbolID
Median
This is my code:
S = shaperead('Sewershed.shp')
mapshow(S)
for i=1:17
meanValue = mean(S(i).BoundingBox);
text(meanValue(1),meanValue(2),num2str(S(i).Sewershed))
end
So, I need the median income for each sewershed to have a color scale, where the largest income is darker red and the smaller incomes become lighter... (red or any color... but darker for higher income and lighter for lower income).
Please, let me know if you can help.
Thanks
C
Accepted Answer
More Answers (1)
KSSV
on 23 Jun 2020
Arrange all your mean values in an array.
M = mean(S(:).BoundingBox) ; % get all means in an array
rgb = vals2colormap(M,'jet') ; % get the respective colorcode for M
figure
hold on
for i = 1:17
patch(S(i).X,S(i).Y,rgb(i,:)) ;
end
colorbar
Download the function vals2colormap from the link: https://github.com/vistalab/vistateach/blob/master/cogneuro/tutorial1_timeseries/vals2colormap.m
Categories
Find more on Color and Styling in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!