在合适的地方改变字体颜色和背景颜色

in uitable change the font colour and the background colour

我有一个 uitable 正在显示一些数据。当值大于 1 时,我希望数字为红色粗体。

这段代码给出了正确的输出:

data(indx_red(:, n), n) = strcat(...
'<html><span style="color: #FF0000; font-weight: bold;">', ...
data(indx_red(:, n), n), ...
'</span></html>');

但是,当数字大于 5 时,我希望文本为粗体红色,单元格的背景颜色为蓝色。所以我对下面的代码进行了调整,但是当我 运行 时 table 中单元格的背景颜色没有改变。

data(indx_red(:, n), n) = strcat(...
'<html><span style="color: #FF0000; font-weight: bold; background-color:powderblue;">', ...
data(indx_red(:, n), n), ...
'</span></html>');

我也尝试过使用 HTML table。我已经与一些 HTML 在线编辑核对了 HTML 部分,以确保输出是正确的。 MATLAB 中是否有某些东西阻止您为 table 中的单元格背景着色?

如何获得蓝色背景和红色粗体字体的单元格?

data(indx_blue(:, n), n) = strcat(...
' <html><table border=0 width=50><tr><td style=''text-align: right; background-color:#99FF99''><b><font color=''#009933''>', ...
data(indx_blue(:, n), n), ...
'</font></b></td></tr></table></html>');

似乎不​​支持命名颜色。但是,如果您将 background-color 作为十六进制值,它似乎可以工作:

data = uitable;
data.Data{1,1} = '<html><div style="color: #FF0000; font-weight: bold; background-color:#b0e0e6;">11</div></html>';

现在这只会为字体的小区域背景着色。提供大小说明有助于设计整个单元格区域的样式:

data.Data{2,2} = '<html><div style="width:90px;height:12px;color: #FF0000; font-weight: bold; background-color:#b0e0e6;">11</div></html>'