figure
ax = usamap('all');
set(ax, 'Visible', 'off')
states = shaperead('usastatelo', 'UseGeoCoords', true);
names = {states.Name};
indexHawaii = strcmp('Hawaii',names);
indexAlaska = strcmp('Alaska',names);
statesSubset1 = {'Illinois', 'Texas'};
indices = cellfun(@(x) strcmp(x,names), statesSubset1, 'UniformOutput', false);
indicesSubset1 = indices{1};
for i = 2:numel(indices)
indicesSubset1 = indicesSubset1 | indices{i} ;
end
indexConus = 1:numel(states);
indexConus(indexHawaii|indexAlaska|indicesSubset1) = [];
stateColor1 = [0.5 1 0.5];
stateColor2 = [1 0 0];
stateColor3 = [0 0 1];
geoshow(ax(1), states(indexConus), 'FaceColor', stateColor1)
geoshow(ax(1), states(indicesSubset1), 'FaceColor', stateColor2)
geoshow(ax(2), states(indexAlaska), 'FaceColor', stateColor3)
geoshow(ax(3), states(indexHawaii), 'FaceColor', stateColor3)
for k = 1:3
setm(ax(k), 'Frame', 'off', 'Grid', 'off',...
'ParallelLabel', 'off', 'MeridianLabel', 'off')
end