Как изменить подходящий цвет ячейки в соответствии с данными в таблице (в Matlab)?
У меня есть функция Matlab, которая возвращает результаты в пригодном для использования.
В таблице 2 столбца и множество строк: первый столбец - это "значения", а второй столбец - это "порог безопасности / доверительный интервал".
Я хотел бы отформатировать вывод так, чтобы определенные ячейки были окрашены в красный цвет: те, для которых "значение" в столбце 1 превышает соответствующий "порог безопасности" в столбце 2.
Есть ли способ сделать это, используя только Matlab?
PS: мне известна следующая страница:
http://www.mathworks.de/matlabcentral/newsreader/view_thread/150507
но мне кажется, что я много читаю, и я надеюсь, что с тех пор, как этот пост был создан, возможно, Matlab догнал и внедрил эту функциональность?
1 ответ
Если вы внимательно прочитаете обсуждение, вы обнаружите, что 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)