How to plot a region in a Matlab plot?
37 ビュー (過去 30 日間)
古いコメントを表示
Hi All,
I want to shade(filled) several regions in a 2D plot by different colors. The attachment contains the plot I am expecting to plot. I could not find a better tutorial to plot this figure yet. Could you please give some help on this. Thank you in advance.
The boundaries of the given region is given by following functions.
P1 = range from 0 to 5
temp = range from 600 to 1600
Tttg1 = 760.-60.*(P1-1.)**2.
Tttg2 = 1000.-150.*((P1-1.2)/1.2)**2.
Pttg1 = -0.5*((temp-870.)/220.)
Pttg2 = 1.5+0.7*((temp-700.)/200.)
Pttg3 = 1.
Tttg3 = 1000. # pr3
Tttg4 = 1100.+50.*((P1-3.5)/3.5)**2. # pr4
Pttg4 = 2.35 +0.15*((temp-1000.)/100.) # Tr4/1000
Pttg5 =5.
%3 regions
lpttg_con = (temp>Tttg1) & (temp<Tttg2) & (P1>Pttg1) & (P1<Pttg2) & (P1<Pttg3)# & matcon_WB
mpttg_con = (temp>Tttg1) & (temp<Tttg2) & (P1>Pttg1) & (P1<Pttg2) & (P1>=Pttg3)# & matcon_WB
hpttg_con = (temp>Tttg3) & (temp<Tttg4) & (P1>Pttg4) & (P1<Pttg5)
Thanks
Prasanna
2 件のコメント
採用された回答
Joseph Cheng
2020 年 2 月 18 日
編集済み: Joseph Cheng
2020 年 2 月 18 日
here is quick example of what you can do by putting the regions as an image under the plots:
%gen xy spans
temps=0:.1:100;
press = 0:.1:100;
[x y] = meshgrid(temps,press);
%generate the binary mask regions
r1 = x.^2+y.^2<50;
r2 = (x-50).^2+(y-75).^2<50^2;
figure(1),imagesc(r1,'XData',temps, 'YData', press , 'AlphaData', r1)
hold on
imagesc(r2*2,'XData',temps, 'YData', press , 'AlphaData', r2) %r2 scaled to get different color
colorbar
plot(temps,press.^2+4)
plot(temps+50,(press-10).^3+4)
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Annotations についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!