Axes Toolbar customization in App Designer

42 visualizaciones (últimos 30 días)
Matt
Matt el 23 de Abr. de 2020
Editada: Lior de Marcas el 27 de Ag. de 2023
The Axes Toolbar of a uiaxes object created in App Designer appears by default with the following buttons: Export, Pan, Zoom In, Zoom Out, Restore View. Is there any way to provide the default functionality you get from the Axes Toolbar created when you call the plot function from an m-file or the command line? I want to provide the Brush and Data Cursor buttons and the functionality you get when right-clicking in the axes object after selecting a button from the toolbar (Export Cursor Data to Workspace, Horizontal/Vertical/Unconstrained Pan and Zoom, etc.). I do realize you can zoom in horizontally and vertically in the uiaxes object by dragging the cursor in a straight line. Double-clicking in the axes object normally restores the view, but that functionality also seems to be missing.
I attempted to create my own toolbar with the axtoolbar command as follows:
app.UIAxes.axtoolbar({'export','brush','datacursor','pan','zoomin','zoomout','restoreview'});
The axtoolbar property does not appear to be useable within App Designer. Is this the case? If so, is there any way to provide the standard Axes Toolbar functionality I described in App Designer?
Thanks.
  4 comentarios
Ajeya Gupta
Ajeya Gupta el 14 de Oct. de 2020
Hi Matt,
Did you arrive at a solution to this problem? I am looking to modify the appearance of Axes toolbar on Matlab's Appdesigner. I am currently using Matlab 2020a version. The only function that works with app.UIAxes is 'Visible'. I am not able to modify the contents of toolbar on top right.
Thanks,
Ajeya
Matt
Matt el 21 de Oct. de 2020
Ajeya,
I never found a solution and have not had time to revisit the issue. Check the answer provided by Payas below. It sounded like at least some of what I was looking for may be available in R2020a, but while I now have access to R2020a, I have not had an opportunity to install and use it for any task.
Matt

Iniciar sesión para comentar.

Respuestas (2)

Payas Bahade
Payas Bahade el 29 de Abr. de 2020
Hi Matt,
Starting from MATLAB R2020a, axes toolbar of UIAxes in App Designer supports functionalities like persistent data tips, brushing data points and ‘export to workspace’ option in context menu. For more details, please refer ‘App Building’ section in release notes of R2020a.
Hope this helps!
  2 comentarios
Stefan
Stefan el 26 de Oct. de 2020
Is there a way to use the classical Data Tip Tool in a UI Axes? (Datacursor as mentioned in the toolbar doc?)
I'm trying:
axtoolbar(app.UIAxes,{'export','datacursor','zoomin','zoomout','restoreview'});
But the datacursor is left out (2020b)
Tim Felix Liesching
Tim Felix Liesching el 21 de En. de 2021
Editada: Tim Felix Liesching el 21 de En. de 2021
Same problem here. Data cursor is left out. Did anyone solve the issue?

Iniciar sesión para comentar.


Lior de Marcas
Lior de Marcas el 27 de Ag. de 2023
Editada: Lior de Marcas el 27 de Ag. de 2023
This might be solved as of 2023a, at least in MATLAB online it seem like it.
For older version:
As a workaround I just made my own "custom" data-tips button.
The custom button is showing, and seems to behave alright: (tested 2022a):
% open empty figure & plot something
f = uifigure();
ax = uiaxes(f);
plot(ax,1:10)
% collect the axtoolbar, and add custom button
tb = axtoolbar(ax,"default");
axtoolbarbtn(tb,"state","Icon","datacursor","Tooltip","Data Tips",...
"ValueChangedFcn",@(e,d)datacursormode(ancestor(d.Source,'figure'),d.Value))
% the ValueChangedFcn is taken from the original button, as-is.

Categorías

Más información sobre Interaction Control en Help Center y File Exchange.

Productos


Versión

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by