How to overlay pcolour figures?
10 ビュー (過去 30 日間)
古いコメントを表示
Good afternoon,
I am after a bit of advice again, if anyone has any time.
I've looked in the directory and at previous questions but can't seem to see a clear solution to my problem and I suspect that there is one.
I have five matrixes, (501,501,5). They show plume spread. I can plot each individually with pcolor no problem.
Is there a way to overlay the five into one figure?
Thanks for any help, advice, direction!
0 件のコメント
回答 (2 件)
Mike Garrity
2015 年 10 月 9 日
The pcolor function simply creates a surface object with color but no Z. You can set the FaceAlpha property on that to make it transparent.
[x,y] = meshgrid(linspace(-pi,pi,40));
h(1) = pcolor(cos(x).*cos(y));
hold on
h(2) = pcolor(sin(x).*sin(y));
hold off
h(2).FaceAlpha = .5;
Kelly Kearney
2015 年 10 月 9 日
Alternatively, assuming each dataset holds a zero wherever the plume is not, and the plume regions themselves don't overlap too much, you set the 0-values to NaN.
[x,y] = meshgrid(linspace(0,1,100));
a = exp(-((x-0.1).^2./0.1 + (y-0.1).^2)./0.1);
b = exp(-((x-0.9).^2./0.1 + (y-0.9).^2)./0.1);
a(a < 0.01) = NaN;
b(b < 0.01) = NaN;
pcolor(x,y,a);
hold on;
pcolor(x,y,b);
shading flat;
参考
カテゴリ
Help Center および File Exchange で Lighting, Transparency, and Shading についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!