How can i stop the axtoolbar from hiding?

10 次查看(过去 30 天)
I want the axtoolbar within a 2D-Plot to be shown always, not only when i put the mouse in the upper right part of the plot. Can this dynamic hiding function be disabled? If there is a solution, would it also work in App Designer?
Regards,
Matthias
  3 个评论
Mann Baidi
Mann Baidi 2024-5-14
Hi, Can I know the use case for a better solution.
Matthias Fath
Matthias Fath 2024-5-14
I am building an App and for the plots i am quite happy with the default functionalities in axtoolbar, all i do is restricting them to 'export','pan','datacursor','zoomin' and 'restoreview'. I am not so happy with the responsiveness of the toolbars hiding and unhiding. It is annoying and sometimes the toolbar hides, when i move the mouse towards it, which is not a good user experience. Also the app will be used by people, not familiar with matlab at all. By always displaying the toolbar i want to make it easier for them to see the possible interacctions with the plots.
Rergards,
Matthias

请先登录,再进行评论。

回答(1 个)

Suraj Kumar
Suraj Kumar 2024-5-23
Hi Matthias,
In the "axtoolbar," there isn't a direct method to disable the dynamic hiding feature. However, as a workaround, the options within the "axtoolbar" can be made permanently visible on the figure toolbar. This can be achieved by customizing the toolbar and reinstating the traditional exploration buttons.
For better understanding you can refer to the below code snippet:
function [] = figToolbarFix(hFig)
% enable the old 'zoom', 'rotation', 'pan', 'data tips'buttons
addToolbarExplorationButtons(hFig)
[img1,map1] = rgb2ind(imread(fullfile(matlabroot,...
'toolbox','matlab','icons','tool_plottools_show.png')),32);
[img2,map2] = imread(fullfile(matlabroot,...
'toolbox','matlab','icons','pageicon.gif'));
% Convert image from indexed to truecolor
icon1 = ind2rgb(img1,map1);
icon2 = ind2rgb(img2,map2);
% Get hiddenhandle of the toolbar we want to append to.
hToolbar=findall(gcf, 'type', 'uitoolbar');
% for a single toggle that opens/closes the previous state of the plot tools
uitoggletool(hToolbar,'CData',icon1,...
'TooltipString','Property Editor',...
'OnCallBack','plottools(''on'')',...
'OffCallBack','plottools(''off'')',...
'Separator','on',...
'HandleVisibility','off');
end
After customizing the icon arrangement, you can hide specific "axtoolbar ”items using the following command:
ax = gca;
ax.Toolbar.Visible = 'off';
Output:
Similarly, in App Designer, you can incorporate buttons and tailor their behavior to replicate this functionality by adjusting the callback function as needed. For instance, to implement a "zoom-in" feature, you can insert the following code into the callback function:
zoom(app.UIAxes,'on');
You can refer the following links for better understanding:
Hope this helps!
  3 个评论
Cedric
Cedric 2024-9-26
For YEARS, I have been imagining the meeting at MATLAB HQ where they decided to take my most-used buttons and make them invisible until you de-select the select tool and mouse-over the axes.
That's 90 minutes of my life matlab!!!

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Data Exploration 的更多信息

产品


版本

R2024a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by