matlab - 如何在 MATLAB 中对区域进行着色并使其在两条线之间透明?
问题描述
我对两条线之间的区域进行了阴影处理,它不是很干净:
area(xData,[Y1(:) ,Y2(:)-Y1(:)]); hold on
colormap([1 1 1; 0 0 1]);
如何在 MATLAB 中也使其透明?所以它就像:
参考:peltiertech.com
解决方案
您可以使用对象的FaceAlpha
属性area
来设置透明度级别:
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)
推荐阅读
- nfc - 在 JavaCard 上激活小程序
- java - 如何在我的 Recycler Views Adapter 中获得最大浮点值?
- python - 用户访问被拒绝(mysql和flask)
- drupal - 检查文件是否在段落的文件字段中上传
- django - Nginx(在 docker 上)尝试获取静态文件时返回 403 Forbiden
- c - ncurses get_wch() 函数未声明
- pandas - Pandas 使用正确的数据类型读取 excel 并转换为 CSV
- google-sheets - newConditionalFormatRule 基于值和其他单元格
- amazon-web-services - Step Functions:如何调用 lambda 函数的特定处理程序
- python - 没有为任何变量提供渐变 - Keras