【问题标题】:Aligning axes of different sizes within a GUI在 GUI 中对齐不同大小的轴
【发布时间】:2015-04-10 17:27:30
【问题描述】:

我有一个琐碎的问题,但无法找到有效的解决方案。我希望有人可以在这方面帮助我。

我目前在 GUI 中有 4 个不同的轴。 ax1(左上)和 ax4(左下)应该垂直对齐,同样 ax2(右上)和 ax4(右下)应该垂直对齐。 (我已附上示例图片)

ax1 和 ax2 用于显示尺寸通常较大(~512x512)的图像,而 ax3 和 ax4 用于显示尺寸约为 43x512 的图像。即使我在显示图像时创建了具有相同大小的 x 轴的轴,它们也会改变大小并且不再对齐。无论我显示什么图像,我都希望顶部和底部的图像具有相同的 x 长度并始终对齐。

我试图保持 XLi 不变; XData 一样,但还是不行。

非常感谢任何帮助。

谢谢,巴拉

【问题讨论】:

  • 1) 没有附加图片 2) 您是否使用 GUIDE 构建您的 GUI?
  • 欢迎来到 Stack Overflow!在这里,我们以问答格式解决代码中的错误。请发布您编写的一些代码和说明问题的图片。

标签: matlab user-interface alignment axes


【解决方案1】:

您可以使用用于执行此操作的 align 函数。调用语法如下:

align(HandleList,'HorizontalAlignment','VerticalAlignment')

因此,在您的情况下,您可以编写如下内容(请注意,您在问题中写了两次 ax4,我猜您希望对齐轴 1-3 和 2-4):

align([handles.ax1 handles.ax3],'VerticalAlignment','none', 'HorizontalAlignment','center')

对于其他 2 个轴也是如此:

align([handles.ax2 handles.ax4],'VerticalAlignment','none', 'HorizontalAlignment','center')

【讨论】:

  • 感谢您的快速回复。看起来我的问题可能不仅仅是对齐。我尝试对齐它们,但是当 ax1 的大小发生变化时(例如,从 512x512 变为 150 x 250,ax2 中的图像大小将为 43 x 250),因此我希望它们按比例变化并仍然对齐。您是否认为我需要更改某些属性以指示它们按比例更改或 ax2 以在大小更改时跟随 ax1 ?也许使用“位置”属性?
  • Mhh 我猜你可以使用linkprop 函数来链接轴的位置属性。信息here。如果这不起作用,请告诉我!
  • 感谢您的回复。但是linkprop并没有完全解决问题。看起来我需要一些东西来调整大小以匹配上面的轴。我想我发现的是,如果图像的大小与轴大小不同,图像会自动调整大小,因此在显示时与轴的大小不同。所以我想我需要一些东西(命令或属性)来在显示时填充轴。谢谢!
猜你喜欢
  • 2013-08-27
  • 1970-01-01
  • 1970-01-01
  • 2014-07-24
  • 2011-10-09
  • 2018-07-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多