How can I add a table (independent of fig data) under figure?

180 Ansichten (letzte 30 Tage)
egg
egg am 12 Jun. 2019
Bearbeitet: Adam Danz am 15 Jan. 2020
I want to add a a table (example table below) under one of my figures. I can't use legends because the data for the figure and the table aren't parallel to one another, the table is just a detailed explanation of other components.
Screen Shot 2019-06-12 at 10.23.30 AM.png
  2 Kommentare
Jan
Jan am 12 Jun. 2019
Bearbeitet: Jan am 12 Jun. 2019
What about using an uitable? What exactly means "under my figure"? A "figure" is the complete window. Do you mean "under a certain axes"?
egg
egg am 12 Jun. 2019
Yes, I meant axes! Sorry I'm a little new to the terminology. I can currently make two subplots, and I want to make the second one a table rather than a plot/graph.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Adam Danz
Adam Danz am 12 Jun. 2019
Bearbeitet: Adam Danz am 12 Jun. 2019
In addition to Jan's UI table suggestion, you could convert the table to a character array and use text() to plot the array on an invisible axes. Here's a demo.
% Create table
LastName = {'Sanchez','Johnson','Danz'};
Age = [38,43,40];
Height = [71, 69, 71];
T = table(LastName',Age',Height','VariableNames',{'LastName','Age','Height'});
% plot some data in the main axes
figure()
axes('position',[.1,.4,.8,.5])
plot(Age,Height,'o')
xlabel('Age')
ylabel('Height');
% Convert Table to cell to char array
tableCell = [T.Properties.VariableNames; table2cell(T)];
tableCell(cellfun(@isnumeric,tableCell)) = cellfun(@num2str, tableCell(cellfun(@isnumeric,tableCell)),'UniformOutput',false);
tableChar = splitapply(@strjoin,pad(tableCell),[1;2;3;4]);
% Add axes (not visible) & text (use a fixed width font)
axes('position',[.1,.1,.8,.2], 'Visible','off')
text(.2,.95,tableChar,'VerticalAlignment','Top','HorizontalAlignment','Left','FontName','Consolas');
If you'd like to implement Jan's suggestion to insert a UI table, this should get you started (following the example above).
uit = uitable('Data', table2cell(T),'ColumnName',T.Properties.VariableNames,...
'Units', 'Normalized', 'Position',[0.2,0.05,0.6,0.25]);
  4 Kommentare
Adam Danz
Adam Danz am 12 Jun. 2019
Bearbeitet: Adam Danz am 15 Jan. 2020
No problem!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Specifying Target for Graphics Output finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by