如何为散点函数中的每个值分配颜色 - GNU Octave
How to assign colors to each value in scatter function - GNU Octave
如何使用 GNU Octave 中的 scatter
函数为每个绘制值分配颜色?
您必须更改颜色图和八度散布的第 4 个参数。参数是向量 1xn 索引色图。您最多可以拥有 255^3 个向量。以及如何做到这一点?
示例解决方案:
- 设置颜色图(矩阵 3 x n),它将包含每种颜色的颜色
- 用作第 4 个参数向量,它包含每个数字,并且具有与 x 和 y 相同的大小
clf;
x = randn (100, 1);
y = randn (100, 1);
cmap=[];
for R = 1:255
for G = 1:255
for B = 1:255
if (size(cmap) ./ [1,3] == size(x))
break;
endif
cmap=[cmap;R/255,G/255,B/255];
endfor
if (size(cmap) ./ [1,3] == size(x))
break;
endif
endfor
if (size(cmap) ./ [1,3] == size(x))
break;
endif
endfor
colormap(cmap);
scatter(x,y,20, 1:100);
这是一个很好的说明性示例:
X = linspace(0, 4 * pi, 100); % Create points (100 elements)
Y = 100 * sin(X);
S = Y + 100; % Sizes array. All values need
% to be larger than 0
C = [linspace(0,1,100); ones(1,100); ones(1,100)]'; % create hsv triplets at full
% saturation and value that
% cover the whole colour
% (i.e. hues) spectrum
C = hsv2rgb(C); % convert to rgb triplets; to
% be used as a 'colour array'
scatter(X,Y,S,C,'filled','MarkerEdgeColor','k'); % fill bubbles, black border
如何使用 GNU Octave 中的 scatter
函数为每个绘制值分配颜色?
您必须更改颜色图和八度散布的第 4 个参数。参数是向量 1xn 索引色图。您最多可以拥有 255^3 个向量。以及如何做到这一点?
示例解决方案:
- 设置颜色图(矩阵 3 x n),它将包含每种颜色的颜色
- 用作第 4 个参数向量,它包含每个数字,并且具有与 x 和 y 相同的大小
clf;
x = randn (100, 1);
y = randn (100, 1);
cmap=[];
for R = 1:255
for G = 1:255
for B = 1:255
if (size(cmap) ./ [1,3] == size(x))
break;
endif
cmap=[cmap;R/255,G/255,B/255];
endfor
if (size(cmap) ./ [1,3] == size(x))
break;
endif
endfor
if (size(cmap) ./ [1,3] == size(x))
break;
endif
endfor
colormap(cmap);
scatter(x,y,20, 1:100);
这是一个很好的说明性示例:
X = linspace(0, 4 * pi, 100); % Create points (100 elements)
Y = 100 * sin(X);
S = Y + 100; % Sizes array. All values need
% to be larger than 0
C = [linspace(0,1,100); ones(1,100); ones(1,100)]'; % create hsv triplets at full
% saturation and value that
% cover the whole colour
% (i.e. hues) spectrum
C = hsv2rgb(C); % convert to rgb triplets; to
% be used as a 'colour array'
scatter(X,Y,S,C,'filled','MarkerEdgeColor','k'); % fill bubbles, black border