How can I display a MATLAB table in a figure?

조회 수: 1,967(최근 30일)
I have a MATLAB table where each of the variables contains a single column of data.  How can I display the table in a figure?

채택된 답변

MathWorks Support Team
MathWorks Support Team 2021년 3월 5일
편집: MathWorks Support Team 2021년 3월 5일
You can either use "uitable" or a more complicated series of commands depending on how you want the table to look.
For example, let us assume you have a table defined by the following code:
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);
1.) If you want the table to have adjustable-width columns and a more stylized look, execute the following "uitable" command to display the table "T" in a figure:
uitable('Data',T{:,:},'ColumnName',T.Properties.VariableNames,...
'RowName',T.Properties.RowNames,'Units', 'Normalized', 'Position',[0, 0, 1, 1]);
You can refer to the following documentation link for more information on "uitable":
2.) If you want the table to look very similar to how it looks when outputted in the MATLAB command window, execute the following series of commands to display the table "T" in a figure:
% Get the table in string form.
TString = evalc('disp(T)');
% Use TeX Markup for bold formatting and underscores.
TString = strrep(TString,'<strong>','\bf');
TString = strrep(TString,'</strong>','\rm');
TString = strrep(TString,'_','\_');
% Get a fixed-width font.
FixedWidth = get(0,'FixedWidthFontName');
% Output the table using the annotation command.
annotation(gcf,'Textbox','String',TString,'Interpreter','Tex',...
'FontName',FixedWidth,'Units','Normalized','Position',[0 0 1 1]);
You may find the following documentation links useful:
  댓글 수: 5
Daniel Leibundgut
Daniel Leibundgut 2020년 7월 29일
How can I adjust the displ,ay format of the data? Set the number of digits per column individually?

댓글을 달려면 로그인하십시오.

추가 답변(1개)

Amir Pasha Zamani
Amir Pasha Zamani 2020년 9월 30일
편집: Amir Pasha Zamani 2021년 3월 15일
The second method did´nt work for me bacause my table is very big and the look of it is not appropriate when it is shown in Mtalab workspace
The first method I need to run, but I get this error:
error:
Cannot concatenate the table variables 'Day_indx' and 'DATE', because their types are double and cell
I can not change the types of my variables, I needthem the way they are!
Any suggestion ?
  댓글 수: 2
Guenter Troll
Guenter Troll 2022년 5월 9일
My table contains latex symbols. Consequently, using the second solution (first does not work at all) the rows of the table are shifted with respect to each other. I tried to add tabs but that does not work. They are ignored.

댓글을 달려면 로그인하십시오.

제품


릴리스

R2015b

Community Treasure Hunt

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

Start Hunting!

Translated by