在Matlab中将轴作为参数发送

3
我需要MatLab GUI的帮助。 我有一个带有轴的GUI, 和一个函数plotData(axes,data),它将轴作为参数。 GUI有一个名为"plot Data"的按钮。
当单击该按钮时,如何执行以下操作: 使用参数axes1和要绘制的数据调用函数plotData? 我希望图形绘制到GUI中已经存在的axes1
这应该很简单,但是当我将轴作为参数发送时,它不会在GUI上绘制,或者可能它确实绘制了,但我看不见它。 对我来说,直接绘制数据没有问题。但要绘制数据则不止1行。
我尝试从不同的M文件中调用存储GUI轴句柄的ax,但由于我从不同的M文件中调用它作为函数,因此GUI轴句柄不会发生任何变化,但也不返回任何错误。

4
你能展示一些代码吗? - Fantastic Mr Fox
1个回答

1

顺便提一下:您的问题有点不清楚:如果您添加了代码片段来说明您已经尝试过什么,那么可以提供更好的答案。

回到问题本身:

您是否尝试将plot指向plotData中的axis1

function [] = plotData( ax, data )
% make ax the current axes for plot
axes( ax ); 
% continue with plotting the data 
% ...

你可以通过使用特定的plot命令来更高效地实现axes(ax);的效果。例如,如果你正在使用简单的plot命令。
plot( ax, data ); % plots data to axes ax

检查您正在使用的特定plot命令的文档,以获取轴参数。


你好Shai,感谢您的回复。问题是函数在外部m文件中,而不是与GUI m文件相同的文件中。 - Wagdi
只要您有一个存储 GUI 坐标轴句柄的变量 axplotData 存在于不同的 m 文件中也没有关系。请尝试并将结果发布在您的问题中,以便其他人也能协助。 - Shai

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接