我有一个几乎没有像素的图像图,我想用每个像素的值注释。由于常规色彩图中的颜色各不相同,因此我无法为所有注释确定固定颜色,但希望改变颜色。
x=1:3;
y=1:3;
m(y, x) = x .* y' * 6;
image(m);
xi = repmat(x, 3, 1);
yi = repmat(y', 1, 3);
text(xi, yi, "label");
我当然可以使用
设置颜色text(xi, yi, "label", "color", "white");
而不是"white"
我尝试了两个3D矩阵
clabels = zeros(3, 3, 3);
clabels(:, :, 2) = 0.75; % for medium green, RGB = [0 192 0];
和细胞矩阵
clabels = {};
clabels(y, x) = [0 0.75 0];
在使用text(xi, yi, "label", color, clabels)
的两种情况下都让我产生了
错误:颜色属性的值无效"颜色"
有没有办法为color属性创建类似矩阵的值?或者我是否需要为我想要注释的每种颜色创建text
?
答案 0 :(得分:2)
您可以使用{'Property'}, {values}
格式一次指定所有文本对象的颜色。不幸的是,您无法在构造函数中直接执行此操作,但您可以使用text
对set
返回的文本对象数组执行操作。
t = text(xi, yi, 'label');
% Create a cell array where each cell is a different RGB color
colors = arrayfun(@(x)rand(1,3), t, 'UniformOutput', false);
set(t, {'Color'}, colors)