MATLAB图中加入阴影

在绘制MATLAB 图时,想表示不同的阶段,所以将其中一部分用阴影颜色强调出来,因此进行了一下绘制图像的知识补充。
其中想要的效果是类似于下面这张:
在这里插入图片描述
具体如何实现呢,有两种方式。
(看完别忘记点赞哟)

一、最简便快捷方式

利用MATLAB里面的图里面的插入,插入一个矩形,然后更改透明度可以实现。
在这里插入图片描述
在这里插入图片描述
但是这种方式的话曲线是在矩形的后面,不是很清晰。于是从原理出发,找到第二种方式。

二、最普通常规方式

使用 patch 函数即可,利用这个函数确定好对应的各个多边形的顶点坐标(注意:绘制的图像就是按照你列出的顶点坐标依次连接形成的多边形即可,因此如果坐标前后顺序不一样 可能画出来的图像也不同),具体的函数说明可以参考MATLAB中patch的说明即可。
具体的例子:
创建一个红色正方形,顶点位于 (0,0)、(1,0)、(1,1) 和 (0,1)。将 x 指定为顶点的 x 坐标,并将 y 指定为 y 坐标。patch 会自动将最后一个 (x,y) 坐标与第一个 (x,y) 坐标连接。

x = [0 1 1 0];
y = [0 0 1 1];
patch(x,y,'red')

在这里插入图片描述
或者指定面和顶点

v = [0 0; 1 0; 1 1; 0 1];
f = [1 2 3 4];
patch('Faces',f,'Vertices',v,'FaceColor','red')

在这里插入图片描述
详细的可以看官方的介绍说明即可,可以多个的多边形也可以是某个特定多边形都可以。
如果想曲线浮于阴影之上,先画出来阴影再次重现绘制曲线即可。

figure;
plot(t,VarName16,'DisplayName','R');hold on;
xlabel('Time /s','FontSize',14);
ylabel('F','FontSize',14);
limy = 3;
v2 = [10.04 -140; 10.22  -140; 10.22 20;10.04 20];
f2 = [1 2 3 4];
patch('Faces',f2,'Vertices',v2,'FaceColor','green','FaceAlpha',.3,'EdgeColor','none');
hold on
plot(t,VarName16,'DisplayName','R');hold off;

参考:
MATLAB 绘图添加区域阴影
此外还能用面积填充图作为标记,比如这里用两个颜色说明横轴上下的面积
使用 area 函数即可

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值