如何将对象从Matlab绘图限制计算中排除

如何将对象从Matlab绘图限制计算中排除,matlab,plot,Matlab,Plot,我想将对象添加到我的matlab绘图中,这些绘图定义了x限制,但跨越了整个y范围。例如,由两个x值分隔的垂直线或着色区域。我知道可以这样使用当前的绘图限制: plot(1:10) yl = ylim(); % Use y limits of current plot as y values patch([ 3 3 5 5 ],[ yl(1) yl(2) yl(2) yl(1) ], 'red'); 但是,我希望我的用户能够在之后增加绘图y限制(例如,同步多个绘图的限制),并希望他们继续从Ma

我想将对象添加到我的matlab绘图中,这些绘图定义了x限制,但跨越了整个y范围。例如,由两个x值分隔的垂直线或着色区域。我知道可以这样使用当前的绘图限制:

plot(1:10)
yl = ylim();
% Use y limits of current plot as y values
patch([ 3 3 5 5 ],[ yl(1) yl(2) yl(2) yl(1) ], 'red');

但是,我希望我的用户能够在之后增加绘图y限制(例如,同步多个绘图的限制),并希望他们继续从Matlab的绘图限制自动设置中获益

plot(1:10)
% Make graphical object which spans the whole possibly y range
p = patch([ 3 3 5 5 ],[ intmin intmax intmax intmin ], 'red');
% Does something like the following function exist?
exemptFromPlotLimitsCalculation(p)
<>这将是可行的,如果我使用下面的代码将对象的y坐标设置为最大和最小可能的整数,分别是(<代码> In Max())/<代码>和<代码>(Matlab)> /代码>,并告诉Matlab在计算图的极限时不要考虑该对象。
plot(1:10)
% Make graphical object which spans the whole possibly y range
p = patch([ 3 3 5 5 ],[ intmin intmax intmax intmin ], 'red');
% Does something like the following function exist?
exemptFromPlotLimitsCalculation(p)
这在Matlab中可能吗?

看一看

在postActionCallback中,您可以调整修补程序的大小


在postActionCallback中,您可以调整修补程序的大小

您可以将
修补程序
(或
填充
)绘制得非常大(例如,使用
realmax
),并通过将属性
YLimInclude
设置为关闭,将其从重缩放中排除


您可以将
补丁
(或
填充
)绘制得非常大(例如使用
realmax
),并通过将属性
YLimInclude
设置为关闭,将其从重缩放中排除


为什么我没有找到这个选项?谢谢为什么我没有找到这个选项?谢谢非常感谢。在这种情况下,@nilZ0r的解决方案更容易,但在调整子地块之间的距离时,我可以使用您的建议!非常感谢。在这种情况下,@nilZ0r的解决方案更容易,但在调整子地块之间的距离时,我可以使用您的建议!