Owner-drivers working for high-street electrical stores Currys and Dixons have spoken out against deteriorating working conditions and lack of training.
Search the world's information, including webpages, images, videos and more. Google has many special features to help you find exactly what you're looking for. Overridden by DSGI functions purpose and use setting title, footnote, and note defaults specifying font and height for text HTITLE= graphics option purpose and use HTML destination HTML device driver displaying graphs on one Web page example generating drill-down graphs replaying multiple graphs HTML files creating in SAS programs naming. On this page you will be able to download the latest software / firmware upgrades for your device. Simply choose your SKU / Model# from the drop down below and your results will appear in the bottom.
The drivers, who wished to remain anonymous, claimed the stores no longer paid them for deliveries if customers were not at home or if goods were returned.
The group alleged that they were also being made to install washing machines, dishwashers and fridge-freezers with little experience and for no extra pay.
One driver told Commercial Motor magazine: “Its taking an awful lot more time out of our day and we aren’t being paid any extra for it. If someone paid a plumber to install a washing machine, it would be £30 an hour.”
Another driver said: “We haven’t had any skills training, we are not qualified.
A spokesperson for DSGi, parent company of the stores, would not comment on the allegations, but said it is “happy to discuss any outstanding issues that drivers may have”.
Dsg Drive Shaft
Chapter Contents | Previous | Next |
SAS/GRAPH Software: Reference |
The following sections summarize the functions and routinesyou can use to create graphics output with DSGI.
DSGI Functions |
- initialize and terminate DSGI
- generate graphicselements
- control the appearance of graphics elements bysetting attributes
- control the overall appearance of the graphicsoutput
- perform management operations for the catalog
- control messages issued byDSGI.
DATA Step Graphics Interface Functionssummarizes the types of operations available and the functions used to invokethem. Refer to DATA Step Graphics Interface Dictionaryfor details about each function.
DSGI Operations | Associated Function | Function Description |
---|---|---|
Bundling Attributes (valid values for xxx are FIL, LIN, MAR, and TEX) | ||
GSET('ASF', . . .) | sets the aspect source flag of an attribute | |
GSET('xxxINDEX', . . . ) | selects the bundle of attributes to use | |
GSET('xxxREP', . . . ) | assigns attributes to a bundle | |
Setting Attributes That Affect GraphicsElements | ||
color index | GSET('COLREF'), . . .) | assigns a color name to color index |
fill area | GSET('FILCOLOR', . . . ) | selects the color of the fill area |
GSET('FILSTYLE', . . . ) | selects the pattern when FILTYPE is HATCH or PATTERN | |
GSET('FILTYPE', . . . ) | specifies the type of interior for the fill area | |
GSET('HTML', . . . ) | specifies the HTML string to invoke when an affected DSGI graphic elementin a web page is clicked | |
line | GSET('LINCOLOR', . . . ) | selects the color of the line |
GSET('LINTYPE', . . . ) | sets the type of line | |
GSET('LINWIDTH', . . . ) | specifies the width of the line | |
marker | GSET('MARCOLOR', . . . ) | selects the color of the marker |
GSET('MARSIZE', . . . ) | determines the size of the marker | |
GSET('MARTYPE', . . . ) | sets the type of marker drawn | |
text | GSET('TEXALIGN', . . . ) | specifies horizontal and vertical alignment of text |
GSET('TEXCOLOR', . . . ) | selects the color of the text | |
GSET('TEXFONT', . . . ) | sets the font for the text | |
GSET('TEXHEIGHT', . . . ) | selects the height of the text | |
GSET('TEXPATH', . . . ) | determines reading direction of text | |
GSET('TEXUP', . . . ) | selects the angle of text | |
Setting Attributes That Affect EntireGraph | ||
GSET('ASPECT', . . .) | sets the aspect ratio | |
GSET('CATALOG', . . . ) | selects the catalog to use | |
GSET('CBACK', . . . ) | selects the background color | |
GSET('DEVICE', . . . ) | specifies the output device | |
GSET('HPOS', . . . ) | sets the number of columns in the graphics output area | |
GSET('HSIZE', . . . ) | sets the width of the graphics output area in unitsof inches | |
GSET('VPOS', . . . ) | sets the number of rows in the graphics output area | |
GSET('VSIZE', . . . ) | sets the height of the graphics output area in unitsof inches | |
Managing Catalogs | ||
GRAPH('COPY', . . .) | copies a graph to another entry within the same catalog | |
GRAPH('DELETE', . . . ) | deletes a graph | |
GRAPH('INSERT', . . . ) | inserts a previously created graph into the currentlyopen segment | |
GRAPH('RENAME', . . . ) | renames a graph | |
Drawing Graphics Elements | ||
arc | GDRAW('ARC', . . .) | draws a circular arc |
bar | GDRAW('BAR', . . . ) | draws a rectangle that can be filled |
ellipse | GDRAW('ELLIPSE', . . . ) | draws an oblong circle that can be filled |
elliptical arc | GDRAW('ELLARC', . . . ) | draws an elliptical arc |
fill area | GDRAW('FILL', . . . ) | draws a polygon that can be filled |
line | GDRAW('LINE', . . . ) | draws a single line, a series of connected lines, ora dot |
marker | GDRAW('MARK', . . . ) | draws one or more symbols |
pie | GDRAW('PIE', . . . ) | draws a pie slice that can be filled |
text | GDRAW('TEXT', . . . ) | draws a character string |
Initializing DSGI | ||
GINIT( ) | initializes DSGI | |
GRAPH('CLEAR', . . . ) | opens a segment to receive graphics primitives | |
Handling Messages | ||
GDRAW('MESSAGE', . . .) | prints a message in the SAS log | |
GPRINT(code) | prints the description of a DSGI error code | |
GSET('MESSAGE', . . . ) | turns message logging on or off | |
Ending DSGI | ||
GRAPH('UPDATE', . . .) | closes the currently open segment and, optionally, displaysit | |
GTERM() | ends DSGI | |
Activating Transformations | ||
GET('TRANSNO', . . .) | selects the transformation number of the viewport orwindow to use | |
Defining Viewports | ||
GSET('CLIP', . . .) | turns clipping on or off | |
GSET('VIEWPORT', . . . ) | sets the coordinates of the viewport and assigns ita transformation number | |
Defining Windows | ||
GSET('WINDOW', . . .) | sets the coordinates of the window and assigns it atransformation number |
DSGI Routines |
DSGI routines return the values setby some of the DSGI functions. DATA Step Graphics Interface Routinessummarizes the types of values that the GASK routines can check. Refer to DATA Step Graphics Interface Dictionary for detailsabout each routine.
DSGI Operations | Associated Routine | Routine Description |
---|---|---|
Checking Attribute Bundles (valid valuesfor xxx are FIL, LIN, MAR, andTEX) | ||
GASK('ASK', . . .) | returns the aspect source flag of the attribute | |
GASK('xxxINDEX', . . . ) | returns the index of the active bundle | |
GASK('xxxREP', . . . ) | returns the attributes assigned to the bundle | |
Checking Attribute Settings | ||
color index | GASK('COLINDEX', . . .) | returns the color indices that currently have colorsassigned to them |
GASK('COLREP', . . . ) | returns the color name assigned to the color index | |
fill area | GASK('FILCOLOR', . . . ) | returns the color of the fill area |
GASK('FILSTYLE', . . . ) | returns the index of the pattern when the FILTYPE isHATCH or PATTERN | |
GASK('FILTYPE', . . . ) | returns the index of the type of interior | |
GASK('HTML', . . . ) | finds the HTML string that is in effect when one of the following graphicelements is drawn: bar, ellipse, fill, mark, pie, and text. | |
line | GASK('LINCOLOR', . . . ) | returns the color index of the color of the line |
GASK('LINTYPE', . . . ) | returns the index of the type of line | |
GASK('LINWIDTH', . . . ) | returns the width of the line | |
marker | GASK('MARCOLOR', . . . ) | returns the color index of the color of markers |
GASK('MARSIZE', . . . ) | returns the size of markers | |
GASK('MARTYPE', . . . ) | returns the index of the type of marker drawn | |
text | GASK('TEXALIGN', . . . ) | returns the horizontal and vertical alignment of text |
GASK('TEXCOLOR', . . . ) | returns the color index of the color of text | |
GASK('TEXEXTENT', . . . ) | returns the coordinates of text extent rectangle andthe text concatenation point of the character string | |
GASK('TEXFONT', . . . ) | returns the text font | |
GASK('TEXHEIGHT', . . . ) | returns the height of text | |
GASK('TEXPATH', . . . ) | returns the reading direction of text | |
GASK('TEXUP', . . . ) | returns the character up vector in x vectorand y vector | |
Checking Attributes That Affect EntireGraph | ||
GASK('ASPECT', . . . ) | returns the aspect ratio | |
GASK('CATALOG', . . . ) | returns the current catalog | |
GASK('CBACK', . . . ) | returns the background color | |
GASK('DEVICE', . . . ) | returns the current output device | |
GASK('HPOS', . . . ) | returns the number of columns in the graphics outputarea | |
GASK('HSIZE', . . . ) | returns the width of the graphics output area in unitsof inches | |
GASK('MAXDISP', . . . ) | returns the dimensions of maximum display area for thedevice in meters and pixels | |
GASK('VPOS', . . . ) | returns the number of rows in the graphics output area | |
GASK('VSIZE', . . . ) | returns the height of the graphics output area in unitsof inches | |
Querying Catalogs | ||
GASK('GRAPHLIST', . . .) | returns the names of graphs in the current catalog | |
GASK('NUMGRAPH', . . . ) | returns the number of graphs in the current catalog | |
GASK('OPENGRAPH', . . . ) | returns the name of the currently open graph | |
Checking System Status | ||
GASK('STATE', . . .) | returns the current operating state | |
GASK('WSACTIVE', . . . ) | returns whether or not the workstation is active | |
GASK('WSOPEN', . . . ) | returns whether or not the workstation is open | |
Checking Transformation Definitions | ||
GASK('TRANS', . . .) | returns the coordinates of the viewport and window associatedwith the transformation | |
GASK('TRANSNO', . . . ) | returns the active transformation number | |
Checking Viewport Definitions | ||
GASK('CLIP', . . .) | returns the status of clipping | |
GASK('VIEWPORT', . . . ) | returns the coordinates of the viewport assigned tothe transformation number | |
Checking Window Definitions | ||
GASK('WINDOW', . . .) | returns the coordinates of the window assigned to thetransformation number |
Creating Simple Graphics with DSGI |
- Initialize DSGI.
- Open a graphics segment.
- Generate graphicselements.
- Close the graphics segment.
- End DSGI.
Basic Steps Used in Creating DSGI Graphics Outputoutlines the basic steps and shows the functions used to initiate steps 1,2, 4, and 5. Step 3 can consist of many types of functions. The GDRAW('LINE',. . . ) function is used as an example.
Basic Steps Used in Creating DSGI Graphics Output
Notice that there are two pairsof functions that work together within a DSGI DATA step (shown by a and bin Basic Steps Used in Creating DSGI Graphics Output).The first pair, GINIT() and GTERM(), begin and end DSGI. Within the firstpair, the second pair, GRAPH('CLEAR', . . . ) and GRAPH('UPDATE', . . . )begin and end a graphics segment. You can repeat these pairs within a singleDATA step to produce multiple graphics output; however, the relative positionsof these functions must be maintained within a DATA step. See Generating Multiple Graphics Output in One DATA Step for more information aboutproducing multiple graphics outputs from one DATA step.
The order of these steps is controlled by DSGI operatingstates. Before any DSGI function or routine can be submitted, the operatingstate in which that function or routine can be submitted must be active. See How Operating States Control the Order of DSGI Statements.
Setting Attributes for Graphics Elements
Each graphics primitive is associated with a particular setof attributes. Its appearance or linking capability can only be altered bythat set of attributes. Graphics Output Primitive Functions and Associated Attributeslists the operators used with GDRAW functions to generate graphics elementsand the attributes that control them.
Graphics Output Primitive | Functions | Associated Attributes |
---|---|---|
Arc | GDRAW('ARC', . . . ) | HTML, LINCOLOR, LININDEX, LINREP, LINTYPE, LINWIDTH |
Bar | GDRAW('BAR', . . . ) | FILCOLOR, FILINDEX, FILREP, FILSTYLE, FILTYPE,HTML |
Ellipse | GDRAW('ELLIPSE', . . . ) | FILCOLOR, FILINDEX, FILREP, FILSTYLE, FILTYPE,HTML |
Elliptical Arc | GDRAW('ELLARC', . . . ) | HTML, LINCOLOR, LININDEX, LINREP, LINTYPE, LINWIDTH |
Fill Area | GDRAW('FILL', . . . ) | FILCOLOR, FILINDEX, FILREP, FILSTYLE, FILTYPE,HTML |
Line | GDRAW('LINE', . . . ) | HTML, LINCOLOR, LININDEX, LINREP, LINTYPE, LINWIDTH |
Marker | GDRAW('MARK', . . . ) | HTML, MARCOLOR, MARINDEX, MARREP, MARSIZE, MARTYPE |
Pie | GDRAW('PIE', . . . ) | FILCOLOR, FILINDEX, FILREP, FILSTYLE, FILTYPE,HTML |
Text | GDRAW('TEXT', . . . ) | HTML, TEXALIGN, TEXCOLOR, TEXFONT, TEXHEIGHT, TEXINDEX, TEXPATH, TEXREP, TEXUP |
Attribute functions must precede the graphics primitivethey control. Once an attribute is set, it controls any associated graphicsprimitives that follow. If you want to change the setting, you can issueanother GSET(attribute, . . . ) function with the new setting.
If you do not set an attribute before you submit a graphicsprimitive, DSGI uses the default value for the attribute. Refer to DATA Step Graphics Interface Dictionary for thedefault values used for each attribute.
How Operating States Control the Order of DSGI Statements
Each DSGI function and routinecan only be submitted when certainoperating states are active. This restriction affects the order of functionsand routines within the DATA step. Generally, the operating states withina DATA step follow this order:GKCL → WSAC → SGOP → WSAC → GKCL |
Functions That Change the Operating State
GINIT() | GKCL → WSAC |
GRAPH('CLEAR', . . . ) | WSAC → SGOP |
GRAPH('UPDATE', . . . ) | SGOP → WSAC |
GTERM() | WSAC → GKCL |
Because these functions change theoperating state, you must order all other functions and routines so that thechange in operating state is appropriate for the functions and routines thatfollow. The following program statements show how the operating state changesfrom step to step in a typical DSGI program. They also summarize the functionsand routines that can be submitted under each operating state. The functionsthat change the operating state are included as actual statements. Referto Operating Statesfor the operating states from which functions and routines can be submitted.
Order of Functions and Routines
Notice that you can set attributes forthe graphics primitivesin several places. As long as the functions that set the attributes are executedbefore the graphics primitives, they will affect the graphics output. Ifyou execute them after a graphics primitive, the primitive is not affected.See Setting Attributes for Graphics Elements.
The following program statements illustrate a more complexDSGI program that produces Simple Graphics Output Generated with DSGIwhen submitted. Notice that all attributes for a graphics primitive are executedbefore the graphics primitive. In addition, the GINIT() and GTERM() pairingand the GRAPH('CLEAR') and GRAPH('UPDATE') pairing are maintained within theDATA step. Refer to Operating Statesfor the operating states in which each function and routine can be submitted.
Simple Graphics Output Generated with DSGI
Bundling Attributes |
To use an attribute bundle, you assign the values ofthe attributes to a bundle index. When you want to use those attributes fora graphics primitive, you select the bundle rather than set each attributeseparately.
Attributes That Can Be Bundled for Each Graphics Primitive
Each graphics primitive has a group of attributes associated with it thatcan be bundled. Only the attributes in that group can be assigned to thebundle. Attributes That Can Be Bundled for Each Graphics Primitiveshows the attributes that can be bundled for each graphics primitive.
Note: You do not have to use attribute bundles for all graphicsprimitives if you use a bundle for one. You can define bundles for some graphicsprimitives and set the attributes individually for others.
Graphics Output Primitive | Associated Attributes That Can Be Bundled |
---|---|
GDRAW('ARC', . . . ) | LINCOLOR, LINTYPE, LINWIDTH |
GDRAW('BAR', . . . ) | FILCOLOR, FILSTYLE, FILTYPE |
GDRAW('ELLARC', . . . ) | LINCOLOR, LINTYPE, LINWIDTH |
GDRAW('ELLIPSE', . . . ) | FILCOLOR, FILSTYLE, FILTYPE |
GDRAW('FILL', . . . ) | FILCOLOR, FILSTYLE, FILTYPE |
GDRAW('LINE', . . . ) | LINCOLOR, LINTYPE, LINWIDTH |
GDRAW('MARK', . . . ) | MARCOLOR, MARSIZE, MARTYPE |
GDRAW('PIE', . . . ) | FILCOLOR, FILSTYLE, FILTYPE |
GDRAW('TEXT', . . . ) | TEXCOLOR, TEXFONT |
Assigning Attributes to a Bundle
- assign the values to anumeric bundle index with the GSET('xxx REP', . . . ) function.Each set of attributes that can be bundled uses a separate GSET('xxx REP', . . . ) function, where xxx is the appropriateprefix for the set of attributes to be bundled. Valid values for xxx are FIL, LIN, MAR, and TEX.
- set the aspect sourceflag (ASF) of the attributes to 'BUNDLED' before you use the bundled attributes.You can use the GSET('ASF', . . . ) function to set the ASF of an attribute. You need to execute a GSET('ASF', . . . ) function for each attribute inthe bundle.
The following example assigns thetext attributes, color, andfont, to the bundle indexed by the number 1. As shown in the GSET('TEXREP',. . . ) function, the color for the bundle is green, the second color inthe COLOR= graphics option. The font for the bundle is the 'ZAPF' font. (See COLREPfor an explanation of how colors are used in DSGI.)
The bundled attributes are used when an associated GDRAWfunction is executed. If the ASF of an attribute is not set to 'BUNDLED'at the time a GDRAW function is executed, DSGI searches for a value to usein the following order:
- the current value of the attribute
- the default value of theattribute.
Selecting a Bundle
The 1 in this example corresponds to the index numberspecified in the GSET('TEXREP', . . . ) function.
Defining Multiple Bundles for a Graphics Primitive
When you activate the second bundle, the graphics primitivesfor the text that follows will use the third color, blue, and the SWISS font.
Note: When using a new bundle, you do not need to reissuethe GSET('ASF', . . . ) functions forthe attributes that will be bundled. Once the ASF of an attribute has beenset, the setting remains in effect until it is changed.
How DSGI Selects the Value of an Attribute to Use
In subsequent statements, you activate the bundle, selectother attributes for the line, and then draw a line:
The color, type, and width associated with the linebundle are used rather than the attributes set just before the GDRAW('LINE',. . . ) function was executed. The line that is drawn is green (the secondcolor from the colors list of the COLORS= graphics option), 5 units wide,and solid (line type 1).
During processing, DSGI chooses the value of an attributeusing the following logic:
- Get the index of the active line bundle.
- Check the ASF of the LINCOLORattribute. If theASF is 'INDIVIDUAL', the value selected with GSET('LINCOLOR', . . .) is used;otherwise, the LINCOLOR associated with the bundle index is used.
- Check the ASF of the LINTYPE attribute. If theASF is 'INDIVIDUAL', the value selected with GSET('LINTYPE', . . .) is used;otherwise, the LINTYPE associated with the bundle index is used.
- Check the ASF of the LINWIDTH attribute. If theASF is 'INDIVIDUAL', the value selected with GSET('LINWIDTH', . . .) is used;otherwise, the LINWIDTH associated with the bundle index is used.
- Draw the line using the appropriate color, type,and width for the line.
Disassociating an Attribute from a Bundle
Using Viewports and Windows |
If you define a viewport, you can position it anywherein the graphics output area. You can define multiple viewports within thegraphics output area so that more than one existing graph, part of a graph,or more than one graphics element can be inserted into the graphics output.
By default, the viewports and windows of all the othertransformations (1 through 20) are set to the defaults for viewports and windows.If you want to define a different viewport or window, you must select a transformationnumber between 1 and 20.
Note: this information applies to MULTI and Green Hills Compilers version 4 or later. Many of the host-based tools (i.e. Those which run on the host system as opposed to the target embedded system) from GHS require license keys to operate. The product documentation contains detailed information about the licensing models available, as. Download drivers for LSI HDA Modem modems (Windows 10 x64), or install DriverPack Solution software for automatic driver download and update. Are you tired of looking for the drivers for your devices? DriverPack Online will find and install the drivers you need automatically. Download modem drivers or install DriverPack Solution software for driver scan and update. Download Download DriverPack Online. Download drivers for modems for free. Operating System Versions: Windows XP, 7, 8, 8.1, 10 (x64, x86) Category: Devices. Subcategory: modems. Popular Drivers. Green Hills Software offers complete, high-performance USB 2.0 solutions for the INTEGRITY Real-Time Operating System (RTOS). Both Host and Device (Function) stacks are available in addition to numerous class drivers and example applications for using both stacks. The stacks and drivers are all delivered with full source code. These products allow developers to quickly and easily add USB. Green hills software modems driver download for windows 10 download. The Green Hills Probe V4 is the fastest and most capable JTAG and trace debug probe ever made by Green Hills Software. Its 4GB of high-speed trace memory and 40 Gbits/second aggregate bandwidth combine with the TimeMachine Debugging Suite to enable software developers to find and fix bugs faster, optimize quickly, and test with confidence.
- Define the viewport or window.
- Activate the transformation so that the viewportor window is used for the output.
Drivers flareon network & wireless cards redeem. These steps can be submitted in any order; however,if you use a transformation you have not defined, the default viewport andwindow are used. Once you activate a transformation, the graphics elementsdrawn by the subsequent DSGI functions are drawn in the viewport and windowassociated with that transformation.
Defining Viewports
The following program statements divide the graphicsoutput area into four subareas:
Once you define the viewports, you can insert existinggraphs or draw graphics elements in each viewport by activating the transformationof that viewport.
Clipping around Viewports
When you use viewports,you also may need touse the clipping feature. Even though you have defined the dimensions of yourviewport, it is possible for graphics elements to display past its boundaries.If the graphics elements are too large to fit into the dimensions you havedefined, portions of the graphics elements actually display outside of theviewport. To ensure that only the portions of the graphics elements that fitwithin the dimensions of the viewport display, turn the clipping feature onby using the GSET('CLIP', . . . ) function. For details, see CLIP.
Defining Windows
You can scale the x and yaxes differently for a window. The following program statements scale theaxes for each of the four viewports defined earlier in 'Defining Viewpoints':
See Scaling Graphs by Using Windowsfor an example of using windows to scale graphs.
Note: When you define a window for a viewport, the transformationnumbers in the GSET('VIEWPORT', . . . ) and GSET('WINDOW', . . . ) functionsmust match in order for DSGI to activate them simultaneously.
Activating Transformations
Dsg Drivetrain Loss
The following program statements illustrate how to activatethe viewports and windows defined in the previous examples:
When you activate these transformations,your display is logicallydivided into four subareas as shown in Graphics Output Area Divided into Four Logical Transformations.
Graphics Output Area Divided into Four Logical Transformations
Free download for usb driver for device. This issue occurs because the USB audio 2.0 driver (usbaudio2.sys) isn't classified as a generic driver in Windows 10 Version 1703. Therefore, the system assumes that a compatible, nongeneric driver is installed for the device even though the driver is generic. This issue also causes Windows 10 Version 1703 to postpone the search for other compatible drivers through Windows Update that typically. MTP USB Device Driver Windows 10 64bit Driver. MTP or ( Media Transfer Protocol) is a set of custom extensions to the Picture Transfer Protocol (PTP) devised by Microsoft, to allow the protocol to be used for devices other than digital cameras, for example digital audio players such as MP3 players, and other portable media devices, for example portable video players. Select Update Driver. If Windows doesn't find a new driver, you can try looking for one on the device manufacturer's website and follow their instructions. Reinstall the device driver. In the search box on the taskbar, enter device manager, then select Device Manager. Right-click (or press and hold) the name of the device, and select Uninstall. Fix USB Drivers using Device manager. View our post on fixing USB Driver issues in Windows 8. Go to Menu Run; Type device manager in the text box; Select Device Manager; Find Universal Serial Bus controllers and expand the list; Right-click Unknown Device; Select Properties from the context-sensitive menu; Select Drivers; Click Update Driver.
Inserting Existing Graphs into DSGI Graphics Output |
- Usethe GSET('CATALOG', . . . ) function to set the output catalog to the catalogthat contains the existing graph.
Note: Unless youare using the WORK library, you must have previously defined the libref ina LIBNAME statement or window when using GSET('CATALOG', . . . ).
- Define aviewport with the dimensions and position of the placein the graphics output where you want to insert the existing graph. GSET('VIEWPORT',n, . . . ) defines a viewport and GSET('WINDOW',n,. . . ) defines a window.
- Define a window as (0,0) to (100,100) so thatthe inserted graph is not distorted. The graph must have a square area definedto avoid the distortion. If your device does not have a square graphics outputarea, the window defaults to the units of the device rather than (0,0) to(100,100) and may distort the graph.
- Activate the transformation numbern, as definedin the viewport function, and possibly in the window function, using GSET('TRANSNO', n, . . . ).
- Use the GRAPH('INSERT', . . . ) function withthe name of the existing graph.
The following program statements provide an example of including an existinggraph in the graphics output being created. The name of the existing graphis 'MAP'. 'LOCAL' points to the library containing the catalog 'MAPCTLG'.The coordinates of the viewport are percentages of the graphics output area. SAS-data-library
refers to apermanent SAS data library.
These statements put the existing graph 'MAP' in theupper half of the graphics output.
Generating Multiple Graphics Output in One DATA Step |
Each time the GRAPH('UPDATE', . . . ) function is executed,a graph is displayed. After the GTERM() function is executed, no more graphsare displayed for the DATA step. The GINIT() function must be executed againto produce more graphs.
- CAUTION:
- Be careful using global SAS/GRAPH statementswhen you are producing multiple output from within the DATA step.
If you use global SAS/GRAPH statementswhen producing multiple output from one DATA step, the last definition ofthe statements is used for all displays.
Processing DSGI Statements in Loops |
You can process DSGI statements in loops to draw a graphicselement multiple times in one graphics output or to produce multiple output. If you use loops, you must maintain the GRAPH('CLEAR', . . . ) and GRAPH('UPDATE',. . . ) pairing within the GINIT() and GTERM() pairing. (See Basic Steps Used in Creating DSGI Graphics Output.) The following programstatements illustrate how you can use DSGI statements to produce multiplegraphics output for different output devices:
The inner loop produces five graphs for each device.Each graphics output produced by the inner loop consists of a bar. The baruses a different color for each graph. The outer loop produces all of thegraphs for five different devices. A total of 25 graphs is generated by theseloops.
Examples |
Refer to DATA Step Graphics Interface Dictionaryfor a complete description of each of the functions used in the examples.
Vertically Angling Text
The following program statements produce Text Angled with the GSET('TEXUP', ..) Function:
Text Angled with the GSET('TEXUP', ..) Function
Thisexample illustrates the following features:
- TheCOLORS= graphics option provides a colors table to be used with the GSET('LINCOLOR',. . . ) function.
- TheHSIZE= graphics option provides a standard width for the graphics output area.
- TheVSIZE= graphics option provides a standard height for the graphics outputarea.
- TheTARGETDEVICE= graphics option selects the standard color PostScript driverto use as the target device.
- The GINIT() function begins DSGI.
- TheGRAPH('CLEAR') function sets the graphicsenvironment. Because the function does not specify a name for the catalogentry, DSGI will use the default name 'DSGI'.
- TheGSET('TEXHEIGHT', . . . ), GSET('LINCOLOR', . . . ), and GSET('LINWIDTH',. . . ) functions set attributes of the graphics primitives. The COLORS= graphicsoption provides a colors table for the GSET('LINCOLOR', 2) function to reference. In this example, the color indexed by 2 is used to draw lines. Since noother colors table is explicitly defined with GSET('COLREP', . . .) functions,DSGI looks at the colors list and chooses the color indexed by 2 (the secondcolor in the list) to draw the lines.
- TheGDRAW('ARC', . . . ) function draws an empty pie chart. The arguments ofthe GDRAW('ARC', . . . ) function provide the coordinates of the startingpoint, the radius, and the beginning and ending angles of the arc.
- TheGDRAW('LINE', . . . ) function draws a line. It provides the type of line,the coordinates of the beginning point, and the coordinates of the endingpoint.
- TheGDRAW('TEXT', . . . ) function draws the text. It sets the coordinates ofthe starting point of the text string as well as the text string to be written.
- TheGSET('TEXALIGN', . . . ) function aligns text to the center, left, or rightof the starting point specified in the GDRAW('TEXT', . . . ) function.
- TheGSET('TEXUP', . . . ) function determines the angle at which the text is tobe written.
- TheGRAPH('UPDATE', . . . ) function closes the graphics segment.
- TheGTERM() function ends DSGI.
Changing the Reading Direction of the Text
This example changes the reading direction of text. Notice thatthe data set name is _NULL_. No data set is created as a result of this DATAstep; however, the graphics output is generated. The following program statementsproduce Reading Direction of the Text Changed with the GSET('TEXPATH', ..) Function:
Reading Direction of the Text Changed with the GSET('TEXPATH', ..) Function
Features not explained earlier in 'Vertically AnglingText' are described here:
- DATA _NULL_ causes the DATA step to be executed,but no data set is created.
- TheGSET('TEXPATH',. . . ) function changes the direction in which the text reads.
Using Viewports in DSGI
This example uses the GCHART procedureto generate a graph, defines a viewport in which to display it, and insertsthe GCHART graph into the graphics output being created by DSGI. Pie Chart Produced with the GCHART Procedure shows the pie chart createdby the GCHART procedure. Pie Chart Inserted into DSGI Graph by Using a Viewportshows the same pie chart after it has been inserted into a DSGI graph.
Pie Chart Produced with the GCHART Procedure
Pie Chart Inserted into DSGI Graph by Using a Viewport
Features not explained in previous examples are describedhere:
- A graph can be created by anotherSAS/GRAPH procedureand inserted into DSGI graphics output. In this case, the NAME= option inthe PIE statement of the GCHART procedure names the graph, 'GR31N06', to beinserted.
- The GSET('VIEWPORT',. . . ) function defines the section of the graphics output area into whichGR31N06 is inserted. The dimensional ratio of the viewport should match thatof the entire graphics output area so that the inserted graph is not distorted.
- The GSET('WINDOW', . . ) function defines the coordinate system to be used within the viewport. In this example, the coordinates (0,0) to (100,100) are used. These coordinatesprovide a square area to insert the graph and preserve the aspect ratio ofthe GCHART graph.
- The GSET('TRANSNO', . . ) function activates the transformation for the defined viewport and window.
- The GRAPH('INSERT', . . ) function inserts the existing graph, 'GR31N06', into the one being createdwith DSGI. If no viewport has been explicitly defined, DSGI inserts the graphinto the default viewport, which is the entire graphics output area.
Scaling Graphs by Using Windows
This example uses the GPLOT procedure to generate a plot of AMOUNT*MONTH andstore the graph in a permanent catalog. DSGI then scales the graph by defininga window in another DSGI graph and inserting the GPLOT graph into that window. Plot Produced with the GPLOT Procedure showsthe plot as it is displayed with the GPLOT procedure. Plot Scaled by Using a Window in DSGI shows how the same plotis displayed when the x axis is scaled from 15 to 95 and the y axis is scaled from 15 to 75.
Plot Produced with the GPLOT Procedure
Plot Scaled by Using a Window in DSGI
One feature notexplained in previous examples is describedhere:
- The GSET('WINDOW', . . ) function scales the plot with respect to the viewport that is defined. The x axis is scaled from 15 to 95, and the y axisis scaled from 15 to 75. If no viewport were explicitly defined, the windowcoordinates would be mapped to the default viewport, the entire graphics outputarea.
Enlarging an Area of a Graph by Using Windows
This exampleillustrates how you can enlarge a section of a graph by using windows. Inthe first DATA step, the program statements generate graphics output thatcontains four pie charts. The second DATA step defines a window that enlargesthe bottom-left quadrant of the graphics output and inserts 'GR31N08' intothat window. The following program statements produce Four Pie Charts Generated with DSGI from the first DATA step,and Area of the Graph Enlarged by Using Windowsfrom the second DATA step:
Four Pie Charts Generated with DSGI
Area of the Graph Enlarged by Using Windows
Featuresnot explained in previous examples are describedhere:
- The GSET('WINDOW', . . ) function defines a window into which the graph is inserted. In thisexample, no viewport is defined, so the window coordinates map to the defaultviewport, which is the entire graphics output area. The result of using thedefault viewport is that only the portion of the graph enclosed by the coordinatesof the window is displayed.
- The GRAPH('INSERT',. . ) function inserts a graph that was previously generated with DSGI. Ifyou want to insert output created by DSGI, the output to be inserted mustbe closed.
Using GASK Routines in DSGI
This example assigns a predefined color to color index2 and then invokes a GASK routine to get the name of the color associatedwith color index 2. The value returned from the GASK call is displayed inthe log and written to a data set. Checking the Color Associated with a Particular Color Index shows how the value appears in the log. Writing the Value of an Attribute to a Data Setshows how the value appears in the data set in the OUTPUT window.
Checking the Color Associated with a Particular Color Index
Writing the Value of an Attribute to a Data Set
Features not explained in previous examples are describedhere:
- The GSET('COLREP',. . . ) function assigns the predefined color 'ORANGE' to the color index2.
- GASK routines check the currentvalue of an attribute. In this example, the GASK('COLREP', . . . ) functionreturns the color associated with color index 2.
- A PUT statement displays the value of the COLOR argument inthe log.
- An OUTPUT statement writes the value of COLORto the ROUTINE data set.
- The GRAPH('UPDATE') function closes the graphicssegment.
- The PRINT procedure displays the contents of theROUTINE dataset.
Generating a Drill-down Graph Using DSGI
Note: Theexample assumes users will access the output through a file system ratherthan accross the Web, so the HTML string uses a file specification ratherthan a full URL. For information on bringing SAS/GRAPH output to the Web,see Bringing SAS/GRAPH Output to the Web.For specific information about drill-down graphs, see About Drill-down Graphs.
This example also includes aFILENAME statement to allocatean aggregate storage location for the HTML and GIF files produced by the code.You should replace the term path-to-Web-server with the locationwhere you want to store the files.
In the example, the ODSHTML statement is used to create a bodyfile named dsgi.htm. When file dsgi.htm is viewed in a Web browser, it displaysa solid pie chart, as shown in Drill-down Graph Generated with DSGI.To drill down to the graph shown in Target Output for Drill-down Graph, click anywhere in the pie chart. Thisexample uses PROC GSLIDE to create the simple graphic that is used for thetarget output:
Drill-down Graph Generated with DSGI
Target Output for Drill-down Graph
Features notexplained in previous examples are describedhere:
- FILENAMEallocates a storage location for the HTML and GIF files that are producedby the program.
- To conserve system resources, ODS LISTING CLOSE closesthe Listing destination.
- On the GOPTIONS statement, DEVICE=GIF tells SAS/GRAPH to generatea GIF file for each GRSEG that is created in the code. The GIF files are neededto display the graphics output in a Web browser.
- On the first ODS HTML statement, BODY= specifiesa name for the file that will reference the pie chart that is generated withDSGI. PATH= specifes the output location that was allocated by the FILENAMEstatement.
- In the DATAstep, the presence of the GSET('HTML',..) function causes SAS/GRAPH tocreate the pie chart as a drill-down graph. The HTML string 'href='blue.htm' will be used as the value for the HREF attribute in the image mapthat SAS/GRAPH creates for the drill-down capability. The image map will becreated in the body file dsgi.htm, because that is the file that referencesthe pie chart. (The target output file blue.htm does not exist yet, but itwill be created by the GSLIDE procedure later in the program.)
- The second ODS HTML file specifies a new bodyfile. Thus, the first body file dsgi.htm is closed, and the new body fileblue.htm is opened. File blue.htm is the file that is identified as the targetoutput by the HREF value on the GSET('HTML',..) function.
- PROC GSLIDE produces the graphic that is usedas the target output for the drill-down graph.
- ODS HTMLCLOSE closes the HTML destination, and ODS LISTING opens the Listing destinationfor subsequent output during the SAS session.
See Also |
- Storing Graphics Output in SAS Catalogs
- for an explanation of graphics catalogsand catalog entries
- Graphics Options and Device Parameters Dictionary
- for complete information about graphicsoptions
- TITLE, FOOTNOTE, and NOTE Statements
- for details of using the TITLE and FOOTNOTEstatements
- GOPTIONS Statement
- for details of using the GOPTIONSstatement
- The Annotate Data Set
- for an explanation of the Annotatefacility
- DATA Step Graphics Interface Dictionary
- for complete information on the functionsand routines used with DSGI
- SAS Language Reference: Dictionary
- for information about additional functionsand statements that can be used in the DATA step
Chapter Contents | Previous | Next | Top of Page |