Explanation of "Position" in uitable

30 visualizaciones (últimos 30 días)
Shahar ben ezra
Shahar ben ezra el 9 de Mayo de 2021
Editada: Adam Danz el 9 de Mayo de 2021
Hi
It is possible to get an explanation of the "Position" of the uitable function
I can not understand the meaning of the numbers
For example
LastName = {'Smith';'Johnson';'Williams';'Jones';'Brown'};
Age = [38;43;38;40;49];
Height = [71;69;64;67;64];
Weight = [176;163;131;133;119];
T = table(Age,Height,Weight,'RowNames',LastName);
uitable('Data',T{:,:},'ColumnName',T.Properties.VariableNames,...
'RowName',T.Properties.RowNames,'Units', 'Normalized', 'Position',[0, 0, 1, 1]);
% How do I set a location by:[0, 0, 1, 1]
or if i whant to do plot Next to a table
How can i do this by understanding the numbers like [0, 0, 1, 1]
LastName = {'Smith';'Johnson';'Williams';'Jones';'Brown'};
Age = [38;43;38;40;49];
Height = [71;69;64;67;64];
Weight = [176;163;131;133;119];
T = table(Age,Height,Weight,'RowNames',LastName)
x = 0:pi/100:2*pi;
y = sin(x);
hAx=subplot(2,1,1);
hUI=uitable('Data',T{:,:},'ColumnName',T.Properties.VariableNames,...
'RowName',T.Properties.RowNames,'Units', 'Normalized', 'Position',hAx.Position);
delete(hAx)
hAx=subplot(2,1,2);
plot(x,y)
TNX

Respuesta aceptada

Rik
Rik el 9 de Mayo de 2021
Since the units are set to Normalized, the units of the Position property are a percentage of the parent object (generally a figure or a panel).
If you go to the documentation for table and go to the Name,Value section, you can see links to two pages. Since you didn't specify using uifigure, I'll assume you're using a normal figure.
And here is the relevant documentation section:
"Location and size, specified as a four-element vector of the form [left bottom width height]."

Más respuestas (1)

Adam Danz
Adam Danz el 9 de Mayo de 2021
Editada: Adam Danz el 9 de Mayo de 2021
The position and units property can be found on the Properties page of UITables
  1. Position property of uitables
  2. Units property of uitables (same link, scroll down)
Since you're setting units to normalized and position to [0 0 1 1] , the table should fill the whole container which in your case appears to be the figure window.
uitable(. . .,'units','normalize','position',[0 0 1 1])
This line below will only work if the axis units are also normalized and it will place the uitble directly on top of the axis.
uitable(. . .,'Units', 'Normalized', 'Position',hAx.Position)

Categorías

Más información sobre Migrate GUIDE Apps en Help Center y File Exchange.

Etiquetas

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