图工具栏怎么了?为什么一个轴工具栏?我怎么能把按钮吗?

176(30天)
从R2018b起,工具,如缩放、平移,datatip等不再是在图的顶部的工具栏窗口。这些按钮现在在一个“轴”工具栏和只出现当你鼠标悬停在情节上。我怎么把按钮顶部的图窗口吗?

接受的答案

MathWorks支万博1manbetx持团队
编辑:MathWorks支万博1manbetx持团队 2022年2月22日
从R2018b版本开始,你可以drag-to-pan和scroll-to-zoom轴不需要调用任何MATLAB函数或选择任意工具栏按钮。大多数类型的轴包括一组默认的内置的交互,但是你可以定制它们通过设置的交互属性轴。关于控制图表交互性的更多信息,参见以下链接:
您也可以返回图工具栏的工具来使用“addToolbarExplorationButtons”功能。请参考下面的代码为例:
冲浪(山峰)\ naddToolbarExplorationButtons (gcf) %图工具栏添加按钮
你也可以隐藏或删除轴工具栏下面的代码:
甘氨胆酸ax =; \ n \ nax.Toolbar。可见=“关闭”;%关闭轴工具栏\ n %或\ nax。工具栏= [];%去除轴工具栏的数据
如果你想确保数据始终打开工具栏中的工具和轴没有包含一个工具栏,执行下面的代码:
> >设置(groot defaultFigureCreateFcn, @(无花果、~)addToolbarExplorationButtons(图)
执行以下代码如果使用R2018b或R2019a发布:
> >设置(groot defaultAxesCreateFcn, @ (ax, ~)组(ax.Toolbar,“可见”,“关闭”))
执行以下代码如果使用R2019b开始发布:
> >集(大的,“defaultAxesToolbarVisible”,“关闭”)
以上设置将重置时MATLAB重启。确保使用这些设置即使在MATLAB重启之后,把上面的“设置”命令启动。m的文件。“启动。m的文件放置在MATLAB的路径时,程序启动过程中运行。更多信息的启动。m的文件,参见以下链接:
//www.tianjin-qmedu.com/help/matlab/ref/startup.html
更新(8/15/19):
谢谢你所有的关于轴工具栏的评价和建议。
我们听说你的反馈与社区的成员和工作方法改善轴工具栏的经验。与轴R2019a我们发布了几个增强工具栏,包括更快的启动时间、能力直接悬停在工具栏可见,和茂密的表面数据的性能改善。此外,与R2018b更新5我们性能改进的轴工具栏启动时间。我们将继续开发增强轴工具栏的经验,并希望再次感谢您的反馈,以帮助我们改进我们的产品。s manbetx 845
你可以使用以下链接下载最新的更新://www.tianjin-qmedu.com/downloads/web_downloads/
23日评论
约翰
约翰 2019年10月30日
我很高兴看到MathWorks正在改进来解决这个问题。我有两个建议改进。新工具栏的两个主要问题1)需要花费很长的时间来探索数字和2)模式你并不明显。
1)如果我选择一条线,然后我想我必须用盒子变焦:点击编辑箭头取消它,我的光标移动到另一边的人物,等待盘旋,然后单击缩放图标。这曾经是一个单一的点击缩放图标。这个问题很容易解决,使工具栏可见在编辑模式(在编辑模式下盘旋不工作),这样用户可以直接点击缩放图标。同时,允许一些导航在编辑模式就好了。
2)用户不能快速判断他们在编辑或导航模式(当然你可以看看工具栏上的图标,看看选择,但这是恼人的)。光标是一个白色箭头当我在导航模式(在这种模式下我能滚动鼠标滚轮缩放),但当我在编辑模式下我看到相同的白色光标箭头(在这种模式下滚动鼠标滚轮没有)。以前,每一个行动都有不同的光标图标(例如:+,-等等)所以你知道是在哪个模式,因此鼠标会如何应对。我建议做一个单独的图标导航,用户可以很容易地看到这模式。

登录置评。

更多的答案(5)

迈克尔Montouchet
迈克尔Montouchet 2019年6月25日
我使用scatter3。以前很容易旋转显示我,现在我必须使用此命令之前能够使用相机旋转:
addToolbarExplorationButtons (gcf)
它曾经是简单。
为什么Matlab删除很好的功能?
Matlab的原因比Python用户界面,支持,好的文档,user-friendlyness。万博1manbetx请继续这种方式和停止删除更容易。否则,我不会看到使用Matlab代替Python。

实验后奥特曼
实验后奥特曼 2019年1月10日
编辑:实验后奥特曼 2019年1月10日
为了读者的利益不跟随我的博客,米歇尔·赫希张贴 下面的评论 昨天,这阐明了主题:
放心的团队挖掘反馈找出最好的方法来解决问题。
一件事情困惑我整个谈话(特别是MTLAB答案)。没有人提及默认轴相互作用,我们介绍了随轴工具栏。我们觉得这是最大的突破,因为你不需要工具栏与缩放,平移,旋转,或添加datatips图表。有什么想法吗?有一个巨大的横幅图18 b介绍这些新动作,所以我们认为人们会找到他们。
我也可以从你的帖子澄清几件事:
*将来发布不是由营销人(和姑娘们!)。这在很大程度上受我们的兴趣提高可发现性的关键功能也埋在菜单和工具栏。
*轴工具栏不是主要支持创建web图形。万博1manbetx我们打算解决多个问题:
* *的工具栏图停靠在桌面图本身是非常远离。
* *我们想走向能够定义相互作用在轴层面,而不是图的水平,因为轴具体的交互。轴工具栏是向这个方向迈进的一步
8的评论
为副总经理
为副总经理 2022年6月10日
动态的可见性(衰落效应)不仅仅是烦人。我总是认为 无形的元素 从根本上是最 直观的东西你可能纳入一个UI。除此之外,我发现这是偶尔非常延迟或破裂。我不能计算的次数我试图让轴工具栏弹出,得到只有一个巨大的CPU使用量飙升了大约10年代没有什么有用的发生。我最终不得不点击反应迟钝的轴,无意中添加datatip或创建一个冗长的缩放框,将永远跟随光标直到我关闭图。
再一次,这些变化之前,视图控制被繁琐的荒唐的地步。至少在2 d, FEX akzoom()已经解决。现在这是一个奇怪的隐式和显式控制的混乱,无形的UI元素和滞后。

登录置评。


斯科特Nuccio
斯科特Nuccio 2019年6月26日
编辑:MathWorks支万博1manbetx持团队 2021年9月22日
这是我想出了最好的。想我应该分享。
在我的创业公司。m文件I have the following line. They overwrite the new figure functions such that everytime you create a figure, the axes toolbar is removed and my script for adding the appropriate buttons to the figures toolbar is called.
试一试% #好吧
如果~ verLessThan (matlab的,“9.5”)
集(大的,“defaultFigureCreateFcn”@(无花果~)figToolbarFix(图));
集(大的,“defaultAxesCreateFcn”@ (ax, ~)集(ax.Toolbar,“可见”,“关闭”));
结束
结束
我的脚本将按钮添加到工具栏叫做“figToolbarFix。m和生活在我的用户- >文件- > matlab启动文件夹和我。m的文件。
函数[]= figToolbarFix (hFig)
% UNTITLED2总结的这个函数
%定制默认图工具栏
% hFig =图是定制的处理
%
%的例子:figToolbarFix (gcf);
%的例子:hFig =图;figToolbarFix (hFig);
%启用旧的“缩放”,“旋转”,“锅”,“数据提示”,等等,按钮
addToolbarExplorationButtons (hFig)
%加载一个漂亮的图片用于我们的按钮。检查MATLAB \释放\ MATLAB工具箱\ \其他选项图标,或
%自己做。注意双转换(rgb - >印第安纳- > rgb)规范化png图像。
[img1, map1] = rgb2ind (imread (fullfile (matlabroot,
“工具箱”,matlab的,“图标”,“tool_plottools_show.png”))、32);
[img2, map2] = imread (fullfile (matlabroot,
“工具箱”,matlab的,“图标”,“pageicon.gif”));
%将图像从索引真彩(要真彩色RGB值0到1)
icon1 = ind2rgb (img1 map1);
icon2 = ind2rgb (img2 map2);
%得到hiddenhandle我们想添加的工具栏。默认情况下,“图工具栏”是唯一的一个活动
%,应该列出最后假设一个新的空白图。使用的图;allchild (gcf)显示所有的孩子
hToolbar = findall (gcf,“类型”,“uitoolbar”);% hToolbar = allchild (hFig);hToolbar = hToolbar(结束);
% %分离属性编辑器和浏览器按钮
% %添加一个新的uipushtool工具栏的末尾。
% uipushtool (hToolbar CData, icon1,…
%’TooltipString”、“属性编辑器”,…
%’ClickedCallback’,‘propertyeditor’,……
%“分离器”,“对”,……
% ' HandleVisibility ', '关闭');
%
% %添加一个新的uipushtool工具栏的末尾。
% uipushtool (hToolbar CData, icon2,…
浏览器%’TooltipString”、“阴谋”,…
%’ClickedCallback’,‘plotbrowser’,……
%“分离器”,“关闭”,…
% ' HandleVisibility ', '关闭');
% %为单个开关,打开/关闭前的状态图工具(使用视图菜单显示/隐藏情节/浏览器/编辑)
uitoggletool (hToolbarCData的icon1,
“TooltipString”,“属性编辑器”,
“OnCallBack”,“plottools (“”)”,
“OffCallBack”,“plottools(“关闭”)”,
“分隔符”,“上”,
“HandleVisibility”,“关闭”);
结束
拿出去! !
也看到更多信息和定制:
祝你好运
2的评论
马特·J
马特·J 2019年9月12日
编辑:马特·J 2019年9月13日
一个测试是否 hToolbar 为空或者不是似乎是必要的。我频繁的错误,否则,
如果~ isempty (hToolbar)
uitoggletool (hToolbarCData的icon1,
“TooltipString”,“属性编辑器”,
“OnCallBack”,“plottools (“”)”,
“OffCallBack”,“plottools(“关闭”)”,
“分隔符”,“上”,
“HandleVisibility”,“关闭”);
结束

登录置评。


布鲁诺陈德良
布鲁诺陈德良 2019年9月14日
复制我的邮局 在这里
R2019b所有技巧发现之前不再工作。
我发现这一个就可以了
集(大的,“defaultAxesCreateFcn”,
@ (ax,变长度输入宗量)开始(计时器(“StartDelay”,1“ExecutionMode”,“singleShot”,“TimerFcn”@(变长度输入宗量)axtoolbar (ax, {}))));
你可能把它放在启动。m文件
如果~ verLessThan (MATLAB的,“9.7”)
集(大的,“defaultAxesCreateFcn”,
@ (ax,变长度输入宗量)开始(计时器(“StartDelay”,1“ExecutionMode”,“singleShot”,“TimerFcn”@(变长度输入宗量)axtoolbar (ax, {}))));
结束
1评论
thosman
thosman 2019年9月28日
编辑:thosman 2019年9月30日
这里有两个额外的方法移除工具栏没有计时器在2019 b。正如前面提到的其他地方,地方startup.m代码的方法。
方法1)
玩着删除工具栏,我发现AxesCreateFcn方法不再做班(ax,“重置”)创建了轴之后(当持有“掉”或轴NextPlot属性“替换”,这是默认的)。这个轴属性重置为其默认值(这似乎包括工具栏)。
这种方法要求轴等行为在默认情况下,绕过了冒犯cla代码路径。
函数SetDefaultFigureToolbar ()
%回到2018年以前的风格数字数据
%
%注意!这迫使所有轴保持在默认情况下
%
%添加工具栏图
%消除了轴工具栏和交互
%设置轴在持有”的默认模式
试一试% #好吧
如果~ verLessThan (matlab的,“9.5”)%如果matlab版本> = 2018 b
集(大的,“defaultFigureCreateFcn”@(无花果~)addToolbarExplorationButtons(图));
集(大的,“defaultAxesCreateFcn”,@axDefaultCreateFcn);
集(大的,“defaultAxesNextPlot”,“添加”);持有“%违约的行为
结束
结束
结束
函数axDefaultCreateFcn (hax ~)
%在轴的创建、删除工具栏和交互。
%:
% https://undocumentedmatlab.com/blog/improving-graphics-interactivity
试一试
hax。交互= [];
hax。工具栏= [];
%忽视历史的Matlab版本
结束
结束
方法2)
删除工具栏,使其默认可见属性错误的。这个方法不能去除交互 已证明能提高性能 由布鲁诺,但方法1或计时器方法将允许交互更新/删除。
集(大的,“defaultAxesToolbarVisible”,“关闭”)
违约行为的变化
最后,值得re-iterating方法1更改默认行为通过默认情况下。方法2不允许调整默认交互。布鲁诺的计时器方法应该能够容纳这些不改变matlab的默认行为。

登录置评。


Mattiepi
Mattiepi 2020年4月7日
像许多其他人在这个字符串,我发现的最新表现轴工具是车,那么有用,而年长的做事的方式。我欣赏的需要与一个按钮(这应该是一个开关按钮,确保用户知道哪些模式目前“上”)而不是程序“猜”我想做什么。只是因为我点击并不意味着我需要datatip无处不在。我真诚希望MathWorks需要这些抱怨的心和恢复pre - 2018 b与图形交互的方法。

类别

找到更多的在图形对象属性帮助中心文件交换

s manbetx 845


释放

没有释放进入。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!