【发布时间】:2018-05-31 06:19:49
【问题描述】:
我在两条线之间的区域做了阴影,不是很干净:
area(xData,[Y1(:) ,Y2(:)-Y1(:)]); hold on
colormap([1 1 1; 0 0 1]);
如何在 MATLAB 中使其也透明?所以它就像:
ref:peltiertech.com
【问题讨论】:
标签: matlab matlab-figure
我在两条线之间的区域做了阴影,不是很干净:
area(xData,[Y1(:) ,Y2(:)-Y1(:)]); hold on
colormap([1 1 1; 0 0 1]);
如何在 MATLAB 中使其也透明?所以它就像:
ref:peltiertech.com
【问题讨论】:
标签: matlab matlab-figure
您可以使用area 对象的FaceAlpha 属性来设置透明度级别:
xData = 1:7;
Y1 = [3 2 1 4 3 2 1];
Y2 = [8 6 9 8 7 5 6];
area(xData, Y2, 'EdgeColor',[0 .447 .741], 'FaceColor',[0.929 .694 .125], 'FaceAlpha',.3);
hold on
area(xData, Y1, 'EdgeColor',[0 .447 .741], 'FaceColor', [1 1 1]);
更简洁的方法是使用patch 而不是area:
h = patch([xData xData(end:-1:1) xData(1)], [Y1 Y2(end:-1:1) Y1(1)], 'b');
set(h, 'EdgeColor',[0 .447 .741], 'FaceColor',[0.929 .694 .125], 'FaceAlpha',.3)
【讨论】: