Matlab 轴缩放
在循环内绘图时,如何在 Matlab 图中获得固定的轴缩放比例?我的目标是了解数据在循环内如何演变。我尝试使用axis手册和axis(...),但没有成功。有什么建议吗?
我知道 hold on
可以解决问题,但我不想看到旧数据。
how exactly do you get fixed scaling of axes in Matlab plot when plotting inside a loop? My aim is to see how data is evolving inside the loop. I tried using axis manual
and axis(...)
with no luck. Any suggestions?
I know hold on
does the trick, but I don't want to see the old data.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您希望看到新的绘制数据替换旧的绘制数据,但保持相同的轴限制,您可以使用 SET 循环中的命令。这是一个简单的示例:
当您运行上面的代码时,您将看到星号在轴中跳跃几秒钟,但轴限制将保持固定。您不必使用 HOLD 命令,因为您只是在更新现有的绘图对象,而不是添加新的绘图对象。即使新数据超出轴限制,限制也不会改变。
If you want to see your new plotted data replace the old plotted data, but maintain the same axes limits, you can update the x and y values of the plotted data using the SET command within your loop. Here's a simple example:
When you run the above, you will see an asterisk jump around in the axes for a couple of seconds, but the axes limits will stay fixed. You don't have to use the HOLD command because you are just updating an existing plot object, not adding a new one. Even if the new data extends beyond the axes limits, the limits will not change.
您必须设置轴限制;理想情况下,您可以在开始循环之前执行此操作。
这行不通
这行得通
You have to set the axes limits; ideally you do that before starting the loop.
This won't work
This will work