我有一个matlab函数,可以返回合适的结果。
表中有2列和多行:第一列是“值”,第二列是各种各样的“安全阈值/置信区间”。
我想格式化输出,以便某些单元格被涂成红色: 第1栏中“值”超过第2栏中相应“安全阈值”的那些。
有没有办法只使用Matlab来做到这一点?
PS: 我知道以下页面:
http://www.mathworks.de/matlabcentral/newsreader/view_thread/150507
但是对我来说似乎有很多修修补补,我希望自从那篇文章发布以来,也许Matlab已经赶上并且内置了这个功能?
答案 0 :(得分:8)
如果您阅读了carefully讨论,您会发现UITABLE支持HTML内容......
以下是一个例子:
X = rand(100,2);
%# convert matrix of numbers to cell array of strings (right aligned)
XX = reshape(strtrim(cellstr(num2str(X(:)))), size(X));
%# find cells matching condition
idx = ( X(:,1) > X(:,2) );
%# use HTML to style these cells
XX(idx,1) = strcat(...
'<html><span style="color: #FF0000; font-weight: bold;">', ...
XX(idx,1), ...
'</span></html>');
%# create table
f = figure;
h = uitable('Parent',f, 'Units','normalized', 'Position',[0.05 0.05 0.9 0.9]);
%# set table data
set(h, 'Data',XX)