我正在尝试创建一个数字数组(转换为字符串),但不超过阈值,对于我目前的测试,我使用的是0.5。我需要将高于或低于脱粒阈值的表的每个值的字体都染成红色,在当前代码中,我仅使用2列,但我将使用10列以上。这是我的代码并且仅以红色显示大于0.5的数字值,而不显示小于0.5的数字(它们应为黑色)。对于变量的命名不好,我感到很抱歉,我只是在测试实现这一点。帮助将不胜感激。
TTT = rand(30,2);
for u = 1:2
PPP = TTT(1:30, u:u);
RRR = ( PPP(:) > .5);
AAA = reshape(strtrim(cellstr(num2str(TTT(:)))), size(TTT));
QQQQ(RRR, u) = strcat(...
'<html><span style="color: #FF0000; font-weight: bold;">', ...
AAA(RRR, u), ...
'</span></html>');
end
%# 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',QQQQ)
您并未在中填充所有值QQQQ
,仅将红色填充。其余(应为黑色)保留为空单元格,因此未显示。
若要更正此问题,您需要初始化QQQQ
为AAA
,然后为相关单元格修改颜色。因此,添加
AAA = reshape(strtrim(cellstr(num2str(TTT(:)))), size(TTT));
QQQQ = AAA;
就在for
循环之前,然后AAA = reshape...
从循环内删除该行。那是:
TTT = rand(30,2);
AAA = reshape(strtrim(cellstr(num2str(TTT(:)))), size(TTT));
QQQQ = AAA;
for u = 1:2
PPP = TTT(1:30, u:u);
RRR = ( PPP(:) > .5);
QQQQ(RRR, u) = strcat(...
'<html><span style="color: #FF0000; font-weight: bold;">', ...
AAA(RRR, u), ...
'</span></html>');
end
%# 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',QQQQ)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句