ポリライン, ポリマーカー, テキストなどの線分による出力プリミティブは,  
個別にラインインデクスを指定することができましたから, それぞれ, フルに  
3桁の値で指定すると, カラーのライン, マーカー, テキストとなります. ま  
た, GRPH2 の各パッケージも, 用いられている線分のラインインデクスに関す  
る内部変数を変更できるようになっていますから, 容易にカラー化できます.   
次の COLOR2 プログラムで, カラー線画の実例を見てみましょう.  
  
  
  
  
UZpGET/UZpSET ルーチンで座標軸関連の内部変数の管理を行ないますが,   
そのなかの 'INDEXT1', 'INDEXT2', 'INDEXL1', 'INDEXL2' がラインインデクスの設定に関するものです. 'INDEXT1'   
と 'INDEXT2' は座標軸および目盛を描く線分の, 'INDEXL1' と   
'INDEXL2' はラベルおよびタイトルの文字を描く線分のラインインデク  
スを指定する内部変数です. 最後が '1' のほうが小さめの目盛やラベ  
ル, タイトルを描く時に用いられ, '2' のほうは大きめのものを描く時  
に用いられます.   
  
  
  
  
この例では, 標準のカラーマップを用いた時, 目盛は淡青で描き, 小さめの文  
字は濃青で, 大きめの文字は紫で描きます. 太さは, 小さめの目盛は細線で,   
それ以外はやや太くなります.   
  
  
  
折れ線をSGPLU ルーチンで描くのですが, そのラインインデクスは SGSPLI ルーチンで 24, 赤色の太い線と指定しています.
      PROGRAM COLOR2
      PARAMETER( NMAX=50 )
      REAL      X(0:NMAX), Y(0:NMAX)
      CHARACTER CSGI*1, CTTL*32
      R    = 3.7
      X(0) = 1950
      Y(0) = 0.5
      DO 10 N=0,NMAX-1
        X(N+1) = X(N) + 1
        Y(N+1) = R*Y(N)*(1.-Y(N))
   10 CONTINUE
      YAVE = RAVE( Y, NMAX+1, 1 )
      DO 20 N=0,NMAX
        Y(N) = -4*(Y(N)-YAVE)
   20 CONTINUE
      WRITE(*,*) ' WORKSTATION ID (I)  ? ;'
      CALL SGPWSN
      READ (*,*) IWS
      CALL GROPN( IWS )
      CALL GRFRM
      CALL GRSWND( X(0), X(NMAX), -1.5, 2.0 )
      CALL GRSVPT(  0.2,     0.9,  0.2, 0.9 )
      CALL GRSTRN( 1 )
      CALL GRSTRF
      CALL SGISET( 'IFONT', 2 )
      CALL UZISET( 'INDEXT1', 402 )
      CALL UZISET( 'INDEXT2', 404 )
      CALL UZISET( 'INDEXL1', 303 )
      CALL UZISET( 'INDEXL2', 123 )
      CALL UXAXDV( 'B', 2., 10. )
      CALL UXAXDV( 'T', 2., 10. )
      CALL UXSTTL( 'B', 'YEAR', 0. )
      CALL UYAXDV( 'L', 0.1, 0.5 )
      CALL UYAXDV( 'R', 0.1, 0.5 )
      CTTL = CSGI(131) // 'T [K]'
      CALL UYSTTL( 'L',CTTL, 0. )
      CALL UXMTTL( 'T', 'INTERANNUAL VARIATION', 0. )
      CALL SGSPLI( 24 )
      CALL SGPLU( NMAX+1, X, Y )
      CALL GRCLS
      END
  
  PROGRAM COLOR2