【问题标题】:PROC SGPLOT add more color into default when group >12当组 >12 时,PROC SGPLOT 将更多颜色添加到默认值中
【发布时间】:2014-03-18 21:26:58
【问题描述】:

我正在尝试使用 PROC SGPLOT 来绘制条形图。组按颜色区分。 下面是我写的代码:

proc sgplot data=comb(where=(PFS_weeks ne .));
yaxis discreteorder=data;
hbar Pt_Info / response=PFS_weeks group=Diagnosis; 

代码运行良好。但是,我有 18 个组,但默认组颜色只有 12 个。所以我组的颜色将循环到第 13 组的 #1 默认颜色。

我的问题是,有没有办法增加默认组颜色的数量,以便我所有的组都可以有不同的颜色?

【问题讨论】:

    标签: colors sas


    【解决方案1】:

    按照您想要的方式分配颜色的最佳方法是使用属性映射。如果您不使用它们,则只能使用 GRAPHDATAn (1-12) 颜色,或使用 GTL(我强烈推荐,但在这里超出了您的需要)。

    创建一个属性映射数据集,将值映射到颜色(或其他属性)。即:

    data attrs;
    input id $ value $ fillcolor $;
    datalines;
    Diagnosis 1 Blue
    Diagnosis 2 Black
    Diagnosis 3 Green
    Diagnosis 4 Yellow
    ;;;;
    run;
    

    然后你通过调用它

    proc sgplot data=comb(where=(PFS_weeks ne .)) attrmap=attrs;
    yaxis discreteorder=data;
    hbar Pt_Info / response=PFS_weeks group=Diagnosis attrid=Diagnosis;
    run;
    

    value 的值需要是相关变量的实际标记值;不是基础值,而是标签(如果已完成任何格式化)。另一方面,id 不必与分组变量相同。

    更多详情请参阅the documentation page on attribute maps

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-27
      • 2021-08-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多