matlab - 使用 pcolor 和 contourf (MATLAB R2014b) 时 uicontextmenu 无法访问
问题描述
我对 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
函数创建一个surface
具有自己uicontextmenu
属性的图形对象。您必须在pcolor
返回表面句柄后设置它:
h= pcolor(x);
set(h,'uicontextmenu',stuff);
推荐阅读
- sql-server - SQL Server 存储过程查询返回多列
- c - 在单独的头文件中定义的类型的 typedef
- angular - 我的 ngx 翻译器无法在 Ionic4 中获取当前语言
- python - 如何仅提取 javadoc 注释的初始描述并使用 python 忽略 javadoc 标记?
- sas - 如何记录 SAS 启动次数?
- refresh - 如何在 Angular ng-multiselect-dropdown 更改时刷新数据输入
- crm - 在 vTiger7 中逐步使用 vtlib 的自定义模块
- amazon-athena - AWS Glue Crawler - 未正确获取时间戳列(始终定义为字符串)
- html - 如何不让可访问性专注于复选框
- django - 访问另一个视图的 url 名称