
Mapshow : attribute colors to polygons according to ID
    10 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
    Loriann Chevalier
 am 25 Aug. 2022
  
    
    
    
    
    Kommentiert: Loriann Chevalier
 am 26 Aug. 2022
            Hi everyone,
I have the map layer of climate zones downloaded from there : https://datacatalog.worldbank.org/search/dataset/0042325
I would like to display the different climate zones of Ethiopia, and represent each climate zone according to the climate type (GRIDCODE field in my shapefile's structure). I have this so far :
addpath('...')
climate = shaperead('c1976_2000.shp');
figure();
set(groot,'defaultLineMarkerSize',6);
mapshow(climate, "DefaultEdgeColor",[0.9 0.9 0.9])
xlim([32 49]);
ylim([2 16]);
The map displays fine and for my region of interest. However all the climate zones just appear in yellow. Obviously I would like to have them appear each in a different color according to their GRIDCODE ID but I can't do that and couldn't find anything on MathWorks either.
Thanks!
0 Kommentare
Akzeptierte Antwort
  Chad Greene
      
      
 am 25 Aug. 2022
        Try this. Define a list of colors, and plot each gridcode region seperately. 
climate = shaperead('c1976_2000.shp'); 
% List of grid codes: 
gc = [climate.GRIDCODE];
% What are the unique values of grid codes? 
ugc = unique(gc); 
% A color for each unique grid code: 
col = parula(length(ugc)); 
figure()
hold on
% Loop through each unique gridcode: 
for k = 1:length(ugc)
    % Plot only the shapes that whose grid code is ugc(k)
    mapshow(climate(gc==ugc(k)), "DefaultEdgeColor",[0.9 0.9 0.9],'facecolor',col(k,:))
end

Weitere Antworten (0)
Siehe auch
Kategorien
				Mehr zu Climate Science and Analysis finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!