我有包含 1 个按钮(绘图)和一个轴的界面(GUI)
我有传记对象:
gr=[0 1 0;0 1 1;0 0 0];
bg = biograph(gr);
当我使用时,我想在界面中的轴中显示图形
view(bg)
它会打开新表单来显示 graph ,我尝试使用以下方法在轴上显示它:
xx=view(bg);
plot(xx)
但我不能!冷,请你帮帮我
谢谢
当您调用 时view(bg)
,它不会打开常规图形,而是打开传记查看器。这不仅包含图形的显示,还包含几个用于缩放和平移可视化的自定义控件,以及用于操作和注释图形本身的上下文菜单。传记查看器旨在以交互方式独立使用,而不是嵌入在用户设计的 GUI 中。
因此,不可能直接/简单地在您自己的轴上显示传记。
我能想到的最佳解决方法如下:
view(bg)
,这将在不同的窗口中显示显示。set(0, 'ShowHiddenHandles', 'on')
。这是必要的,因为传记查看器对您隐藏了它的句柄。bgfig = gcf
以获取传记查看器的句柄。c = get(bgfig, 'Children');
。newAxisHandle = copyobj(c(1), myGUIFigureHandle)
newAxisHandle
适当调整 GUI 图上新轴的大小。close(bgfig)
以关闭传记查看器。这感觉像是一件非常糟糕的事情,但我认为它会发生得足够快,以至于你的 GUI 的用户应该只会注意到快速闪烁。