Overview of the DATA Step Graphics Interface

Introduction to the DATA Step Graphics Interface

The DATA Step Graphics Interface (DSGI) enables you to create graphics output within the DATA step or from within a SAS Component Language ( SCL) application. Through DSGI, you can call the graphics routines used by SAS/GRAPH software to generate a custom graph, or to add features to an existing graph. You can use DSGI to write a custom graphics application in conjunction with all the power of the programming statements accessible by the DATA step.
DSGI provides many of the same features as the Annotate facility, but it also has many advantages over the Annotate facility.
  • You can use DSGI functions and routines through SCL
  • You can save disk space. DSGI graphics can be generated through the DATA step without creating an output data set. The graphics output is stored as a catalog entry in the catalog that you select, and can be displayed after the DATA step is submitted.
  • DSGI generates graphics faster than the Annotate facility. With the Annotate facility, you create a data set and then submit a PROC step to display the graphics output. In DSGI, you eliminate the PROC step because the graphics output is generated after the DATA step.
  • DSGI supports viewports and windows, which enable you to specify the dimensions, position, and scale of the graphics output. You can include multiple graphs in the same graphics output.
Consider using the Annotate facility for enhancing procedure output. and using DSGI for creating custom graphics without using a graphics procedure.
DSGI is based on the Graphics Kernel System (GKS) standard, although it does not follow a strict interpretation, nor is it implemented on a particular level of GKS. GKS was used to provide a recognizable interface to the user. Because of its modularity, the standard allows for enhancements to DSGI without the side effect of converting programs between versions of SAS/GRAPH software.
The concepts used to create graphics output with DSGI are explained. An overview of the functions and routines used in DSGI are provided. For complete details of each function and routine, see The DSGI Function and Routine Dictionaries.

DSGI Functions

Pie Chart Created with DSGI Functions
Exploded Pie

DSGI Statements

Text Slide Created with DSGI Statements
Report Jan.1999- Jun1999 Production Information Widgets

Syntax

DSGI uses GASK routines and functions to draw graphics elements. These statements have the following syntax:
CALL GASK(operator, arguments);
return-code-variable=function-name (operator, arguments);
where
arguments
are the additional required variables or values for the routine or function.
return-code-variable
is an arbitrary name and can be any numeric variable name. It holds the return code upon execution of the function.
function-name
is the DSGI command that you want to execute and must be one of the following: GDRAW, GINIT, GPRINT, GRAPH, GSET, or GTERM.
operator
is a character string that names the function you either want to submit or for which you want the current settings. When used with functions, operator can take different values depending on function-name.

Requirements

When using DSGI statements, the following formats for arguments must be used:
  • All x and y coordinates are expressed in units of the current window system. (See The Current Window System for details.)
  • The arguments used with DSGI functions can be expressed as either constants or variables. The arguments used with GASK routines must be variable names since values are returned through them. See The DSGI Function and Routine Dictionaries for a complete explanation of each argument used with DSGI functions and routines.
  • All arguments that are character constants must be enclosed in either single or double quotation marks.