* Encoding: UTF-8. DATASET CLOSE ALL. OUTPUT CLOSE ALL. *Heatmap example, Dallas survey. FILE HANDLE data /NAME = "C:\Users\axw161530\Dropbox\Documents\BLOG\HeatMaps_SPSS". *If you download and open up locally. *GET FILE = "data\Surv2016.sav". *DATASET NAME DallasSurv16. *Grab the data from online. SPSSINC GETURI DATA URI="https://dl.dropbox.com/s/5e07yi9hd0u5opk/Surv2016.sav?dl=0" FILETYPE=SAV DATASET=DallasSurv16. DATASET COPY HeatMap. DATASET ACTIVATE HeatMap. FREQ Q6_1Inyourneighborhoodduringthe TO Q69Fromfire. RECODE Q6_1Inyourneighborhoodduringthe TO Q69Fromfire (SYSMIS = 8)(ELSE = COPY). SORT CASES BY Q6_1Inyourneighborhoodduringthe TO Q69Fromfire. VARSTOCASES /MAKE Q6 FROM Q6_1Inyourneighborhoodduringthe TO Q69Fromfire /INDEX = QType. VALUE LABELS QType 1 'In your neigh. During Day' 2 'In your neigh. At Night' 3 'Downtown during day' 4 'Downtown at night' 5 'Parks during day' 6 'Parks at Night' 7 'From violent crime' 8 'From property crime' 9 'From fire' . VALUE LABELS Q6 8 "Missing" 9 "Don't Know" 1 'Very Unsafe' 2 'Unsafe' 3 'Neither safe or unsafe' 4 'Safe' 5 'Very Safe' . FORMATS Q6 QType (F1.0). *Now lets make a heatmap. TEMPORARY. SELECT IF DISTRICT = 1. GGRAPH /GRAPHDATASET NAME="graphdataset" VARIABLES=QType ID Q6 /GRAPHSPEC SOURCE=INLINE. BEGIN GPL PAGE: begin(scale(800px,2000px)) SOURCE: s=userSource(id("graphdataset")) DATA: QType=col(source(s), name("QType"), unit.category()) DATA: ID=col(source(s), name("ID"), unit.category()) DATA: Q6=col(source(s), name("Q6"), unit.category()) GUIDE: axis(dim(1), opposite()) GUIDE: axis(dim(2), null()) SCALE: cat(aesthetic(aesthetic.color.interior), map(("1", color.darkred),("2", color.red),("3", color.lightgrey), ("4", color.lightblue), ("5", color.darkblue), ("9", color.white), ("8", color.white))) SCALE: cat(dim(2), sort.data(), reverse()) ELEMENT: polygon(position(QType*ID), color.interior(Q6), color.exterior(color.grey), transparency.exterior(transparency."0.7")) PAGE: end() END GPL. EXECUTE. *Missing data representation. TEMPORARY. SELECT IF (Q6 = 9 OR Q6 = 8). GGRAPH /GRAPHDATASET NAME="graphdataset" VARIABLES=QType ID Q6 MISSING = VARIABLEWISE /GRAPHSPEC SOURCE=INLINE. BEGIN GPL PAGE: begin(scale(800px,2000px)) SOURCE: s=userSource(id("graphdataset")) DATA: QType=col(source(s), name("QType"), unit.category()) DATA: ID=col(source(s), name("ID"), unit.category()) DATA: Q6=col(source(s), name("Q6"), unit.category()) GUIDE: axis(dim(1), opposite()) GUIDE: axis(dim(2), null()) SCALE: cat(aesthetic(aesthetic.color.interior), map(("1", color.darkred),("2", color.red),("3", color.lightgrey), ("4", color.lightblue), ("5", color.darkblue), ("9", color.black), ("8", color.red))) ELEMENT: polygon(position(QType*ID), color.interior(Q6), color.exterior(color.grey), transparency.exterior(transparency."0.7")) PAGE: end() END GPL. EXECUTE. *Small multiple. TEMPORARY. SELECT IF DISTRICT = 1. GGRAPH /GRAPHDATASET NAME="graphdataset" VARIABLES=QType ID Q6 /GRAPHSPEC SOURCE=INLINE. BEGIN GPL PAGE: begin(scale(1000px,1000px)) SOURCE: s=userSource(id("graphdataset")) DATA: QType=col(source(s), name("QType"), unit.category()) DATA: ID=col(source(s), name("ID"), unit.category()) DATA: Q6=col(source(s), name("Q6"), unit.category()) COORD: rect(dim(1,2), wrap()) GUIDE: axis(dim(1), opposite()) GUIDE: axis(dim(2), null()) GUIDE: legend(aesthetic(aesthetic.color.interior), null()) SCALE: cat(aesthetic(aesthetic.color.interior), map(("1", color.darkred),("2", color.red),("3", color.lightgrey), ("4", color.lightblue), ("5", color.darkblue), ("9", color.white), ("8", color.white))) SCALE: cat(dim(2), sort.data(), reverse()) ELEMENT: polygon(position(QType*ID*Q6), color.interior(Q6), color.exterior(color.grey), transparency.exterior(transparency."0.7")) PAGE: end() END GPL. EXECUTE. OUTPUT EXPORT /PNG IMAGEROOT = "data\Heatmap.png".