使用pcolor和contourf(MATLAB R2014b)时无法访问uicontextmenu

使用pcolor和contourf(MATLAB R2014b)时无法访问uicontextmenu,matlab,user-interface,Matlab,User Interface,我对MATLAB不是特别有经验,所以这可能是一个愚蠢的问题,但我希望能得到任何帮助 我有一些代码可以创建一些轴,为这些轴指定一个uicontextmenu,然后在轴上绘制用户选择的图形。除了pcolor和contourf之外,在每种绘图情况下,都可以通过右键单击图形(应该是这样)访问uicontextmenu。为什么会这样?我有什么办法可以绕开这件事吗 通过广泛的调试,我发现uicontextmenu可以访问,直到调用pcolor(或contourf)函数,然后它消失。我错过了什么 按要求编辑:

我对MATLAB不是特别有经验,所以这可能是一个愚蠢的问题,但我希望能得到任何帮助

我有一些代码可以创建一些轴,为这些轴指定一个uicontextmenu,然后在轴上绘制用户选择的图形。除了pcolor和contourf之外,在每种绘图情况下,都可以通过右键单击图形(应该是这样)访问uicontextmenu。为什么会这样?我有什么办法可以绕开这件事吗

通过广泛的调试,我发现uicontextmenu可以访问,直到调用pcolor(或contourf)函数,然后它消失。我错过了什么

按要求编辑:,示例代码如下。如果使用pcolor,uicontextmenu将不会显示,如果使用plot,则会显示。我认为这与光标高亮显示的数据有关。如果光标在打印的数据上单击鼠标右键,则两者都不会显示任何内容。但这是为什么呢

axes;

stuff = uicontextmenu('Parent',ancestor(axes,'figure'));
stuffm = uimenu('Parent',stuff,'Label','Change something');
set(axes,'uicontextmenu',stuff);

x = randn(10);
y1=randn(10,1);
y2=randn(10,1);


plot(y1,y2)
%pcolor(x)

pcolor
函数创建一个具有自己的
uicontextmenu
属性的
surface
图形对象。必须在
pcolor
返回曲面句柄后设置它:

h= pcolor(x);
set(h,'uicontextmenu',stuff);

你能给我看一个吗?我有一个新的,稍微不同的问题。为什么这不适用于contourf<代码>轴;stuff=uicontextmenu('Parent',祖先(axes,'figure');stuffm=ui菜单('Parent',stuff','Label','Change something');x=randn(10);y1=randn(10,1);y2=randn(10,1);%图(y1,y2)h=f(x);设置(h,'uicontextmenu',stuff)我添加了一个新问题,因为它们显然不等同,正如我所假设的: