Octave 如何为散射函数中的每个值指定颜色-GNU倍频程
如何在GNU倍频程中使用Octave 如何为散射函数中的每个值指定颜色-GNU倍频程,octave,scatter-plot,Octave,Scatter Plot,如何在GNU倍频程中使用scatter函数为每个打印值指定颜色?您必须更改colormap和倍频程scatter的第四个参数。该参数为矢量1xn索引颜色映射。最多可以有255^3个向量。如何做到这一点 示例解决方案: 设置colormap(矩阵3 x n),它将精确地包含每种颜色 用作第四个参数向量,它正好包含每个数字,大小与x和y相同 下面是一个很好的示例: X = linspace(0, 4 * pi, 100); % Create points
scatter
函数为每个打印值指定颜色?您必须更改colormap和倍频程scatter的第四个参数。该参数为矢量1xn索引颜色映射。最多可以有255^3个向量。如何做到这一点
示例解决方案:
下面是一个很好的示例:
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
你是希望每个向量正好有一种颜色,还是可以重复?@přemyslťastný,我在问题中的意思是每个向量正好有一种颜色。我编辑了我的问题,以便更好地澄清这一点。你能给出一个代码示例吗?假设我的x和y向量是:x=randn(100,1);y=randn(100,1);我已经改变了它…我花了2个小时来研究八度音阶和八度音阶的散射器…谢谢你的回答,但是我如何为每个向量指定特定的颜色呢?使用此代码,我仅限于黑色和蓝色。如果有255^3个向量,您将获得所有可能的颜色…如果您想要更少的颜色和它们之间更多的差异,请将所有255更改为更小的数字:)因为我误解了散点函数中的一些内容,我的问题到目前为止还不值得提出。因此,为了反映你的答案,我修改了它。因为我误解了散射函数中的一些东西,我的问题到目前为止还没有价值。因此,为了反映您的答案,我对其进行了更改。很高兴您发现它很有用:)
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