How can I add a table (independent of fig data) under figure?
    조회 수: 74 (최근 30일)
  
       이전 댓글 표시
    
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. 

댓글 수: 2
채택된 답변
  Adam Danz
    
      
 2019년 6월 12일
        
      편집: Adam Danz
    
      
 2019년 6월 12일
  
      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
추가 답변 (0개)
참고 항목
카테고리
				Help Center 및 File Exchange에서 Creating, Deleting, and Querying Graphics Objects에 대해 자세히 알아보기
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


