Disable automatic Data Tips
显示 更早的评论
I've just updated from R2018b to R2019b, and now every time I click on a plot, it prints a new Data Tip without my asking it to. So just clicking on a plot to make the axes current or pan or zoom ends up creating a mess like this:

Is there any way to disable this behavior?
采纳的回答
Mustafa Abu-Mallouh
2020-1-2
编辑:Mustafa Abu-Mallouh
2020-1-2
There are a few ways to go about this. To do this for individual plots, you can use the disableDefaultInteractivity command as below:
x = 0:0.01:10;
y = sin(x);
figure(1)
plot(x,y)
disableDefaultInteractivity(gca)
If you would like to do it for all of the created plots in a session, use
>> set( groot , 'defaultAxesCreateFcn' , 'disableDefaultInteractivity(gca)' )
However, with that method it will reset everytime you start up MATLAB.
If you would like this to apply whenever you open MATLAB, you'll need to implement it into your startup.m file. Here is an example of how you could implement it (MATLAB version 9.7 is 2019b)
if ~verLessThan('MATLAB','9.7')
set( groot , 'defaultAxesCreateFcn' , 'disableDefaultInteractivity(gca)' )
end
8 个评论
Nope! That's the first thing I tried, but it apparently has no effect in 2019b.
Apologies, I glossed over the 2019b remark. I edited the answer with 3 implementations that should answer your question.
Ah, brilliant! That works perfectly! Thanks Mustafa! I've added your suggested if statement to my startup.m.
Thanks again!
Thank you very much. Definitely a solution providing great relief.
There is a bug with this solution that will cause some strange and unexpected behaviors.
The issue is the call to gca, which will only work if the axes has HandleVisibility set to 'on' and if the parent figure of the axes also has HandleVisibility set to 'on'. Otherwise, gca will create a new axes instead of operating on the axes you think it should. This is particularly troublesome for App Designer, because the figure has HandleVisibility set to 'off' by default.
The better way to achieve the same goal is to use a function handle and set the DefaultAxesCreateFcn like this:
if ~verLessThan('MATLAB','9.7')
set(groot, 'defaultAxesCreateFcn', @(ax,~) disableDefaultInteractivity(ax))
end
The difference here is that the axes handle itself is passed directly to disableDefaultInteractivity so it is no longer dependent upon gca working.
I also cant stand the data tips. I tried this solution, but it didnt change anything. Any advice? Maybe I didn't edit my startup.m properly...
Yeah, none of the proposed solutions are working for me these days either. Just have to keep swatting them away.
right click and delete all data tips
更多回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Creating, Deleting, and Querying Graphics Objects 的更多信息
标签
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
