Skip to content

Instantly share code, notes, and snippets.

@pglira
Created March 15, 2021 11:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pglira/1cfb062c62fa28078b36452566caacad to your computer and use it in GitHub Desktop.
Save pglira/1cfb062c62fa28078b36452566caacad to your computer and use it in GitHub Desktop.
Simple app build with Matlab 2021a
function simple_app
figMain = uifigure;
figMain.Name = 'Simple app';
% Main grid
gridMain = uigridlayout(figMain, [1 2]); % 1 row, 2 columns
gridMain.ColumnWidth = {350, '1x'};
% Axes
axesMain = uiaxes(gridMain);
axesMain.Layout.Row = 1;
axesMain.Layout.Column = 2;
% Tabs
tabGroup = uitabgroup(gridMain);
tabGroup.Layout.Row = 1;
tabGroup.Layout.Column = 1;
tab1 = uitab(tabGroup, 'Title', 'Tab 1');
tab2 = uitab(tabGroup, 'Title', 'Tab 2');
% Grid for tab 1
gridTab1 = uigridlayout(tab1, [2, 2]);
gridTab1.ColumnWidth = {150, '1x'};
% Number of points
idxRow = 1;
gridTab1.RowHeight{idxRow} = 22;
labelNoPoints = uilabel(gridTab1);
labelNoPoints.HorizontalAlignment = 'right';
labelNoPoints.Text = '# points';
labelNoPoints.Layout.Row = idxRow;
labelNoPoints.Layout.Column = 1;
editfieldNoPoints = uieditfield(gridTab1, 'numeric', 'RoundFractionalValues', 'on');
editfieldNoPoints.Limits = [0 1e6];
editfieldNoPoints.Value = 1000;
editfieldNoPoints.Layout.Row = idxRow;
editfieldNoPoints.Layout.Column = 2;
% Plot button
idxRow = 2;
gridTab1.RowHeight{idxRow} = 22;
button = uibutton(gridTab1);
button.Layout.Row = idxRow;
button.Layout.Column = [1 2];
button.Text = 'Plot!';
button.ButtonPushedFcn = @(src, event) plotPoints(axesMain, editfieldNoPoints.Value);
end
function plotPoints(hAxes, noPoints)
X = rand(noPoints,3);
cla(hAxes);
scatter3(hAxes, X(:,1), X(:,2), X(:,3), 5^2, X(:,3));
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment