如何在 Matlab 中为绘图的特定 x 值设置背景颜色?

Posted

技术标签:

【中文标题】如何在 Matlab 中为绘图的特定 x 值设置背景颜色?【英文标题】:How to set background color for specific x-values of plot in Matlab? 【发布时间】:2014-09-12 11:11:28 【问题描述】:

例如见下文。

我想用颜色编码(红色)另一个独立时间序列大于 0 的年份。

【问题讨论】:

【参考方案1】:

您可以使用patch() 函数在任何您想要的地方绘制正方形,并以 RGBA 格式为其指定颜色,例如使用大约 0.5 的 A(alpha)

让我们用一个例子来说明:

x=1:0.1:10;
y=sin(x*2*pi);

box1=[1 1 2 2];
box2=[4 4 5 5];
boxy=[-1 1 1 -1]*max(y)*1.2;

plot(x,y)
patch(box1,boxy,[0 1 0],'FaceAlpha',0.2)
patch(box2,boxy,[1 0 0],'FaceAlpha',0.2)

ylim(1.1*[min(y) max(y)])

【讨论】:

以上是关于如何在 Matlab 中为绘图的特定 x 值设置背景颜色?的主要内容,如果未能解决你的问题,请参考以下文章

matplotlib如何获取坐标轴刻度值?

用matlab绘图时,如何只设定一个轴范围?

如何在 MATLAB 中为矩阵的特定位置赋值?

如何在matlab中为图形加标注以及文字说明

如何定义matlab里面绘图的x,y轴的范围

在 MATLAB 绘图中为垂直条形区域着色