【问题标题】:Want to make a line, using a handle to a figure in MATLAB想画一条线,在MATLAB中使用一个图形的句柄
【发布时间】:2025-12-14 15:45:01
【问题描述】:

我有一个问题,我已经有了一个创建图形的句柄,现在我想以某种方式画一条线,给定这个句柄。例如,我有:

f1 = figure(1);
a1 = gca;

对于像plotsurf 这样的命令,我可以传递坐标轴和/或图形句柄来告诉它绘制到那个特定的图形。但是,您如何使用line 命令执行此操作?据我所知,似乎没有办法……谢谢。

【问题讨论】:

    标签: matlab line handle matlab-figure


    【解决方案1】:

    line 函数,如 patch 是一个低级函数。 plot 命令建立在这些之上。但是你可以这样做:

    f1 = figure(1);
    a1 = gca;
    line([0 1],[0 1],'Parent',a1); % Parent has to be an axis handle
    

    您可以在此处找到更多行选项:line properties 或在 Matlab 命令窗口中键入 doc Line_Props

    【讨论】:

    • 你的回答和mine有什么不同?
    • 像魅力一样工作 - 谢谢!太烦人了 plot/surf/imagesc/line 都有不同的方法! >
    • @Shai:他们没有什么不同。我们只是同时写作和提交。我什至没有看到你的。但是,您的回答有一个小问题 - 请参阅我的评论。
    【解决方案2】:

    你试过 `Parent' 属性吗?

    line( x, y, 'Parent', a1 ); 
    

    请参阅line properties 了解更多信息。

    【讨论】:

    • 图形手柄不起作用。只有一个轴句柄(或hggroup 或 hgtransform`)