MATLAB Answers

How can I display a MATLAB table in a figure?

2,306 views (last 30 days)
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?

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 5 Mar 2021
Edited: MathWorks Support Team on 5 Mar 2021
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:
'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.
'FontName',FixedWidth,'Units','Normalized','Position',[0 0 1 1]);
You may find the following documentation links useful:
Daniel Leibundgut
Daniel Leibundgut on 29 Jul 2020
How can I adjust the displ,ay format of the data? Set the number of digits per column individually?

Sign in to comment.

More Answers (1)

Amir Pasha Zamani
Amir Pasha Zamani on 30 Sep 2020
Edited: Amir Pasha Zamani on 15 Mar 2021
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:
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 ?
  1 Comment
Thiviya Navaneethan
Thiviya Navaneethan on 16 Mar 2021
Please contact MathWorks Technical Support if you are looking for help with this issue. They may be able to assist you.

Sign in to comment.




Community Treasure Hunt

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

Start Hunting!