Cell Array storing RGB
显示 更早的评论
I am storing color short names in a cell array as follows:
color{i,j} = 'r';
Then I'd like to use this cell array to set the color properties of some texts as follows:
text('String', d{i,j},'Units', 'Points',...
'FontSize', 8, 'HorizontalAlignment', 'right', ...
'Color', color(i,j));
However, I get the error "Color value must be a 3 element numeric vector". I have tried using a function that convert the short name of colors to their RGB triplet, but it seems that color(i,j) does not output a string/char. How should I go about this? Thank you.
采纳的回答
更多回答(1 个)
Image Analyst
2015-5-15
That should work except that you used parentheses which gives the whole cell, rather than braces, which gives the contents of the cell.
color(i,j) = a cell, the cell in the ith row, jth column of the cell array called color.
color{i,j} = the CONTENTS OF the cell at row i, column j
Try this:
text('String', d{i,j},'Units', 'Points',...
'FontSize', 8, 'HorizontalAlignment', 'right', ...
'Color', color{i,j}); % use braces instead of parentheses.
See the FAQ for a good explanation of when to use braces or parentheses: http://matlab.wikia.com/wiki/FAQ#What_is_a_cell_array.3F
类别
在 帮助中心 和 File Exchange 中查找有关 Annotations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!