PATTERNステートメントの指定が有効にならない

[OS]ALL
[リリース] 5.18, 6.07, 6.08, 6.09, 6.10
[キーワード] graph, pattern, statement, color=, option, goptions, color, list

[質問]

以下のプログラムのように、PATTERNステートメントを使ってグラフの模様をそれぞれ指定したのですが、PATTERN1ステートメントしか適用されません。
なぜでしょうか。

  pattern1 v=l1 ;
  pattern2 v=r1 ;
  proc gchart data=sasuser.class;
    vbar weight / subgroup=sex ;
  run; quit;

[回答]

PATTERNステートメントにCOLOR=オプションが指定されていない場合、デバイスのカラーリストにもとづいて、1つのPATTERNステートメントが繰り返し使われます。
たとえばカラーリストに3色が設定されている場合、最初のパターンはカラーリストの 最初の色で、2つめのパターンはカラーリストの2番目の色で、という具合に、色を変えながら同じPATTERNステートメントが3回使われます。
質問のケースのようにサブグループごとに模様を変えたい場合は、次のどちらかを指定します。

  • 各PATTERNステートメントにCOLOR=オプションを追加
  • GOPTIONSステートメントのCOLORS=オプションで明示的に1色のカラーリストを指定