Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Octave 如何为散射函数中的每个值指定颜色-GNU倍频程_Octave_Scatter Plot - Fatal编程技术网

Octave 如何为散射函数中的每个值指定颜色-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

如何在GNU倍频程中使用
scatter
函数为每个打印值指定颜色?

您必须更改colormap和倍频程scatter的第四个参数。该参数为矢量1xn索引颜色映射。最多可以有255^3个向量。如何做到这一点

示例解决方案:
  • 设置colormap(矩阵3 x n),它将精确地包含每种颜色
  • 用作第四个参数向量,它正好包含每个数字,大小与x和y相同


  • 下面是一个很好的示例:

    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