Radial and Spoke Star Displays

 /****************************************************************/
 /*          S A S   S A M P L E   L I B R A R Y                 */
 /*                                                              */
 /*    NAME: SHWSTAR3                                            */
 /*   TITLE: Radial and Spoke Star Displays                      */
 /* PRODUCT: QC                                                  */
 /*  SYSTEM: ALL                                                 */
 /*    KEYS: Shewhart Charts, Star Charts,                       */
 /*   PROCS: SHEWHART                                            */
 /*    DATA:                                                     */
 /*                                                              */
 /*    MISC: Uses star facility in PROC SHEWHART to display the  */
 /*          relationship between a process variable (paint      */
 /*          index) and six related quality and environmental    */
 /*          variables.                                          */
 /*                                                              */
 /*          The STARSPECS= data set is used to provide infor-   */
 /*          mation that distinguishes the quality and environ-  */
 /*          mental variables.                                   */
 /*                                                              */
 /****************************************************************/
 options ps=60 ls=80 nodate;

 /* summary data for paint index and related variables */
data stats;
   input hour paintinx paintinr paintinn
         thick gloss defects dust humid temp;
   label hour     = 'Run Number'
         paintinx = 'Average Paint Index'
         thick    = 'Paint Thickness'
         gloss    = 'Paint Gloss'
         defects  = 'Paint Defects'
         dust     = 'Dust Level'
         humid    = 'Room Humidity'
         temp     = 'Room Temperature' ;
cards;
 1  5.8  3.0  5  0.2550  0.6800  0.2550  0.2125  0.1700  0.5950
 2  6.2  2.0  5  0.2975  0.5950  0.0850  0.1700  0.2125  0.5525
 3  3.7  2.5  5  0.3400  0.3400  0.4250  0.2975  0.2550  0.2125
 4  3.2  6.5  5  0.3400  0.4675  0.3825  0.3485  0.2125  0.2125
 5  4.7  0.5  5  0.5100  0.4250  0.5950  0.4080  0.5100  0.4675
 6  5.2  3.0  5  0.5100  0.3400  0.6800  0.5525  0.5525  0.5525
 7  2.6  2.0  5  0.4250  0.0425  0.8500  0.5355  0.5525  0.2550
 8  2.1  1.0  5  0.3400  0.0170  0.8075  0.5950  0.5950  0.1700
;

 /* pre-specified control limits for paint index */
data mylimits;
   length _var_    $ 8
          _subgrp_ $ 8
          _type_   $ 8 ;
   _var_    = 'paintin';
   _subgrp_ = 'hour';
   _type_   = 'estimate';
   _limitn_ = 5;
   _sigmas_ = 3;
   _lclx_   = 2.395   ;
   _mean_   = 3.875   ;
   _uclx_   = 5.355   ;
   _lclr_   = 0.0     ;
   _r_      = 2.5625  ;
   _uclr_   = 5.4184  ;
   _stddev_ = 1.10171 ;
   output;
run;

 /*---vertex variable information---*/
data myspecs;
   length _VAR_     $8
          _CSPOKE_  $8
          _LABEL_   $16 ;
input _VAR_ _LABEL_ _CSPOKE_ _LSPOKE_ ;
cards;
thick    Thickness    red     1
gloss    Gloss        red     1
defects  Defects      red     1
dust     Dust         blue    2
humid    Humidity     blue    2
temp     Temperature  blue    2
;


 /*---create the chart using radial style---*/
symbol1 v=none l=1;
title c=red    'Quality '
      c=black  'and '
      c=blue   'Environmental '
      c=black  'Variables Related to Paint Index';

proc shewhart history=stats limits=mylimits;
   xchart paintin * hour /
      nolegend
      novangle
      readlimits

      /*---star options--*/
      starvertices = ( thick gloss defects dust humid temp )
      starcircles  = 1.0
      lstarcircles = 2
      cstarcircles = white
      cstars       = white
      starstart    = '1:00'T
      starspecs    = myspecs
      startype     = radial
      starlabel    = first
      starlegend   = none
      cconnect     = white
      cframe       = gray
      cinfill      = empty
      ;
run;

 /*---create the chart using spoke style---*/
symbol1 v=none l=1;

proc shewhart history=stats limits=mylimits;
   xchart paintin * hour /
      nolegend
      novangle
      readlimits

      /*---star options--*/
      starvertices = ( thick gloss defects dust humid temp )
      starstart    = '1:00'T
      starspecs    = myspecs
      startype     = spoke
      starlabel    = first
      cstarcircles = white
      cstars       = white
      cconnect     = white
      cframe       = gray
      cinfill      = empty
      ;
run;

goptions reset=all;