MATLAB Answers

0

Will uifigure allow plot toolbar in a future release?

Asked by Kiron Mateti on 8 Apr 2018
Latest activity Commented on by HNguyen
on 7 Jun 2019
Currently a uifigure does not support a traditional figure toolbar:
>> h = uifigure;
>> h.ToolBar = 'figure'
Functionality not supported with figures created with the uifigure
function. For more information, see Graphics Support in App
Designer.
The Matlab figure toolbar is so useful, with data tips, data brushing, zoom/pan, etc., if I cannot use it in a uifigure, it is a non-starter.
I made a simple app with AppDesigner, and I like the interface, but the limitations of uifigure may lead me to not invest any more time into it until they improve functionality.
Is there a future solution for the toolbar issue?

  0 Comments

Sign in to comment.

2 Answers

Answer by Ahmet Cecen on 8 Apr 2018

While this is something only an insider will know at this point, I will point out as a workaround that you can still "pop" a figure as usual in an app to have access to those features. Just do f1 = figure; within the callback of a button. You can set that window's size and location for a very streamlined setup.

  1 Comment

Based on Ahmet's suggestion, this is a perfect work around for me. Inside my AppDesigner code, I created a new f1=figure, and I got all features that I needed (toolbar, rotation3, Data Cursor, etc.). The only draw back is it created a new "pop-out" figure window, but I can live with that.
This is how I did it.
f1 = figure; % This line creates a separate Figure Window to have toolbar, data cursor, etc.
%ax = app.UIAxes(); % This line is for accessing the app.UIAxes inside AppDesigner Window
ax = axes(f1);
cla(ax,'reset'); % Clear any existing data and RESET the axes and rotations
ax.YDir = 'reverse';
title(ax, {['Round ' roundId]});
...

Sign in to comment.


Answer by Walter Roberson
on 8 Apr 2018

No, I think it fairly safe to say that uifigure will never support the traditional toolbar. Some or all of the functionality might be added, but in a different way.

  0 Comments

Sign in to comment.