GPL Examples (GGRAPH command)
Following are some graph examples using GPL. Pictures are not included to encourage you to run the examples. Except when noted, all examples use Employee data.sav, which is located in the product installation directory. See the GPL documentation for more examples.
Simple Bar Chart
GGRAPH
/GRAPHDATASET NAME="graphdataset" VARIABLES=jobcat MEAN(salary)
/GRAPHSPEC SOURCE=INLINE.
BEGIN GPL
SOURCE: s=userSource(id("graphdataset"))
DATA: jobcat=col(source(s), name("jobcat"), unit.category())
DATA: meansal=col(source(s), name("MEAN_salary"))
GUIDE: axis(dim(1), label("Employment Category"))
GUIDE: axis(dim(2), label("Mean Current Salary"))
ELEMENT: interval(position(jobcat*meansal))
END GPL.
Simple Bar Chart Using a Multiple-Response Set
Note: This example uses 1991 U.S. General Social Survey.sav, which is located in the product installation directory.
GGRAPH
/GRAPHDATASET NAME="graphdataset" VARIABLES=$prob RESPONSES()[NAME="RESPONSES"]
/GRAPHSPEC SOURCE=INLINE.
BEGIN GPL
SOURCE: s=userSource(id("graphdataset"))
DATA: prob=col(source(s), name("$prob"), unit.category())
DATA: responses=col(source(s), name("RESPONSES"))
GUIDE: axis(dim(1), label("Most Important Problems in Last 12 Months"))
GUIDE: axis(dim(2), label("Responses"))
ELEMENT: interval(position(prob*responses))
END GPL.
Stacked Bar Chart
GGRAPH
/GRAPHDATASET NAME="graphdataset" VARIABLES=jobcat gender COUNT()
/GRAPHSPEC SOURCE=INLINE.
BEGIN GPL
SOURCE: s=userSource(id("graphdataset"))
DATA: jobcat=col(source(s), name("jobcat"), unit.category())
DATA: gender=col(source(s), name("gender"), unit.category())
DATA: count=col(source(s), name("COUNT"))
GUIDE: axis(dim(1), label("Employment Category"))
GUIDE: axis(dim(2), label("Count"))
ELEMENT: interval.stack(position(jobcat*count), color(gender))
END GPL.
Clustered Bar Chart
GGRAPH
/GRAPHDATASET NAME="graphdataset" VARIABLES=jobcat gender MEAN(salary)
/GRAPHSPEC SOURCE=INLINE.
BEGIN GPL
SOURCE: s=userSource(id("graphdataset"))
DATA: jobcat=col(source(s), name("jobcat"), unit.category())
DATA: gender=col(source(s), name("gender"), unit.category())
DATA: meansal=col(source(s), name("MEAN_salary"))
COORD: rect(dim(1,2), cluster(3,0))
GUIDE: axis(dim(1), label("Employment Category"))
GUIDE: axis(dim(2), label("Mean Current Salary"))
ELEMENT: interval(position(gender*meansal*jobcat), color(gender))
END GPL.
Paneled Bar Chart
GGRAPH
/GRAPHDATASET NAME="graphdataset" VARIABLES=jobcat gender MEAN(salary)
/GRAPHSPEC SOURCE=INLINE.
BEGIN GPL
SOURCE: s=userSource(id("graphdataset"))
DATA: jobcat=col(source(s), name("jobcat"), unit.category())
DATA: gender=col(source(s), name("gender"), unit.category())
DATA: meansal=col(source(s), name("MEAN_salary"))
GUIDE: axis(dim(1), label("Gender"))
GUIDE: axis(dim(2), label("Mean Current Salary"))
GUIDE: axis(dim(3), label("Employment Category"))
ELEMENT: interval(position(gender*meansal*jobcat))
END GPL.
3-D Bar Chart
GGRAPH
/GRAPHDATASET NAME="graphdataset" VARIABLES=jobcat gender MEAN(salary)
/GRAPHSPEC SOURCE=INLINE.
BEGIN GPL
SOURCE: s=userSource(id("graphdataset"))
DATA: jobcat=col(source(s), name("jobcat"), unit.category())
DATA: gender=col(source(s), name("gender"), unit.category())
DATA: meansal=col(source(s), name("MEAN_salary"))
GUIDE: axis(dim(1), label("Gender"))
GUIDE: axis(dim(2), label("Employment Category"))
GUIDE: axis(dim(3), label("Mean Current Salary"))
COORD: rect(dim(1,2,3))
ELEMENT: interval(position(gender*jobcat*meansal))
END GPL.
Simple Scatterplot
GGRAPH
/GRAPHDATASET NAME="graphdataset" VARIABLES=salbegin salary
/GRAPHSPEC SOURCE=INLINE.
BEGIN GPL
SOURCE: s=userSource(id("graphdataset"))
DATA: salbegin=col(source(s), name("salbegin"))
DATA: salary=col(source(s), name("salary"))
GUIDE: axis(dim(1), label("Beginning Salary"))
GUIDE: axis(dim(2), label("Current Salary"))
ELEMENT: point(position(salbegin*salary))
END GPL.
Simple Scatterplot with Fit Line
GGRAPH
/GRAPHDATASET NAME="graphdataset" VARIABLES=salbegin salary
/GRAPHSPEC SOURCE=INLINE.
BEGIN GPL
SOURCE: s=userSource(id("graphdataset"))
DATA: salbegin=col(source(s), name("salbegin"))
DATA: salary=col(source(s), name("salary"))
GUIDE: axis(dim(1), label("Beginning Salary"))
GUIDE: axis(dim(2), label("Current Salary"))
ELEMENT: point(position(salbegin*salary))
ELEMENT: line(position(smooth.linear(salbegin*salary)))
END GPL.
Pie Chart
GGRAPH
/GRAPHDATASET NAME="graphdataset" VARIABLES=jobcat COUNT()
/GRAPHSPEC SOURCE=INLINE.
BEGIN GPL
SOURCE:s=userSource(id("graphdataset"))
DATA: jobcat=col(source(s), name("jobcat"), unit.category())
DATA: count=col(source(s), name("COUNT"))
GUIDE: axis(dim(1), null())
COORD: polar.theta()
SCALE: linear(dim(1), dataMinimum(), dataMaximum())
ELEMENT: interval.stack(position(summary.percent(count)),color(jobcat))
END GPL.
Area Chart
GGRAPH
/GRAPHDATASET NAME="graphdataset" VARIABLES=jobcat MEAN(salary)
/GRAPHSPEC SOURCE=INLINE.
BEGIN GPL
SOURCE: s=userSource(id("graphdataset"))
DATA: jobcat=col(source(s), name("jobcat"), unit.category())
DATA: meansal=col(source(s), name("MEAN_salary"))
GUIDE: axis(dim(1), label("Employment Category"))
GUIDE: axis(dim(2), label("Mean Current Salary"))
ELEMENT: area(position(jobcat*meansal))
END GPL.
Grouped Line Chart
GGRAPH
/GRAPHDATASET NAME="graphdataset" VARIABLES=jobcat gender MEAN(salary)
/GRAPHSPEC SOURCE=INLINE.
BEGIN GPL
SOURCE: s=userSource(id("graphdataset"))
DATA: jobcat=col(source(s), name("jobcat"), unit.category())
DATA: gender=col(source(s), name("gender"), unit.category())
DATA: meansal=col(source(s), name("MEAN_salary"))
GUIDE: axis(dim(1), label("Employment Category"))
GUIDE: axis(dim(2), label("Mean Current Salary"))
ELEMENT: line(position(jobcat*meansal), color(gender), missing.wings())
END GPL.
Bar Chart of Separate Variables
GGRAPH
/GRAPHDATASET NAME="graphdataset" VARIABLES=MEAN(salary) MEAN(salbegin)
TRANSFORM=VARSTOCASES(SUMMARY="meansal" INDEX="variables")
/GRAPHSPEC SOURCE=INLINE.
BEGIN GPL
SOURCE: s=userSource(id("graphdataset"))
DATA: variables=col(source(s), name("variables"), unit.category())
DATA: meansal=col(source(s), name("meansal"))
GUIDE: axis(dim(2), label("Mean"))
ELEMENT: interval(position(variables*meansal))
END GPL.
Bar Chart Clustered by Separate Variables
GGRAPH
/GRAPHDATASET NAME="graphdataset" VARIABLES=MEAN(salary) MEAN(salbegin) jobcat
TRANSFORM=VARSTOCASES(SUMMARY="meansal" INDEX="variables")
/GRAPHSPEC SOURCE=INLINE.
BEGIN GPL
SOURCE: s=userSource(id("graphdataset"))
DATA: variables=col(source(s), name("variables"), unit.category())
DATA: jobcat=col(source(s), name("jobcat"), unit.category())
DATA: meansal=col(source(s), name("meansal"))
COORD: rect(dim(1,2), cluster(3,0))
GUIDE: axis(dim(2), label("Mean"))
GUIDE: legend(aesthetic(aesthetic.color), label("Variables"))
ELEMENT: interval(position(variables*meansal*jobcat), color(variables))
END GPL.
Bar Chart of Separate Variables Clustered by Categorical Variable
GGRAPH
/GRAPHDATASET NAME="graphdataset" VARIABLES=MEAN(salary) MEAN(salbegin) jobcat
TRANSFORM=VARSTOCASES(SUMMARY="meansal" INDEX="variables")
/GRAPHSPEC SOURCE=INLINE.
BEGIN GPL
SOURCE: s=userSource(id("graphdataset"))
DATA: variables=col(source(s), name("variables"), unit.category())
DATA: jobcat=col(source(s), name("jobcat"), unit.category())
DATA: meansal=col(source(s), name("meansal"))
COORD: rect(dim(1,2), cluster(3,0))
GUIDE: axis(dim(2), label("Mean"))
GUIDE: legend(aesthetic(aesthetic.color), label("Employment Category"))
ELEMENT: interval(position(jobcat*meansal*variables), color(jobcat))
END GPL.