地図上に、とのことですので、Mapping toolboxをお持ちの前提で回答いたします。
またgeoshowでの各画素に対しての、alphaの設定には2015b以降のバージョンが必要となるようです。
もっとスマートな手順があるかとは思いますが、とりいそぎ、次の手順でご所望の図を出力可能です。
極座標プロットの準備
theta = 0:0.01:2*pi;
rho = sin(3*theta).*cos(2*theta);
fig = figure('Position',[0 0 400 400]);
polarplot(theta, rho, 'LineWidth', 6);
ax = gca;
ax.LineWidth = 6;
ax.Color = [0.99, 0.99, 0.99];
set(gcf, 'Color', [1,1,1]);
thetaticklabels([]);
set(gca, 'LooseInset', get(gca, 'TightInset'));
fig.InvertHardcopy = 'off';
saveas(gcf, 'your_polar.png');
背景地図の表示
states = geoshape(shaperead('usastatehi', 'UseGeoCoords', true));
figure, hold on;
worldmap('na');
geoshow(states);
極座標プロット画像の読み込み
img = imread('your_polar.png');
latLen = 10;
lonLen = 10;
latNum = size(img,1);
lonNum = size(img,2);
latCors = linspace(0,-latLen,latNum)+latLen/2;
lonCors = linspace(0,lonLen,lonNum)-lonLen/2;
[latCors, lonCors] = meshgrid(latCors,lonCors);
alphamat = all(img == 255, 3);
画像の挿入
for latCenter = 30:20:70;
for lonCenter = -150:20:-90;
r = (90-latCenter) / (90-30);
geoimg = geoshow(r*latCors+latCenter, lonCors+lonCenter, permute(img,[2 1 3]), 'DisplayType', 'texturemap');
geoimg.AlphaDataMapping = 'none';
geoimg.FaceAlpha = 'texturemap';
alpha(geoimg, double(~alphamat));
end
end