1
stairs(1:10)

给出了这个情节: 在此处输入图像描述

如果你不小心,你会错过最后一个数据点。显然,您可以通过以下方式解决此问题:

stairs([1:10 10])

不过实话说?这让我觉得很傻。除了滚动我自己的楼梯功能之外,我没有看到明显的“简单”解决方法。

mystairs = @(x)stairs([x x(end)])

但这并不能真正概括楼梯,只是针对一个(非常有限的)用例修复它。我可以完成创建 .m 文件和正确处理 var args 等所有工作。有没有更简单的方法?

4

1 回答 1

0

这就是图表的本质:数据点代表观察值或值转换,并且您在最后一个观察点有一个转换。最终数据点位于折线图的最末端,这是 Matlab 绘图的一般约定。这样做的问题[x x(end)]是,现在您正在绘制一个额外的虚假数据点,并且该线将在自变量 X 轴上从 10 扩展到 11,这超出了数据点覆盖的范围。可能会产生误导,特别是如果其他一些代码从图形句柄中获取 Y 数据并对其进行处理。

如何增加xlim绘图的 ,以使最终状态转换线不会正好落在图的边缘并被边框遮挡?

于 2013-07-01T04:59:25.843 回答