Scatterplot: Use log scale

GGRAPH
  /GRAPHDATASET NAME="graphdataset" VARIABLES=X Y
  /GRAPHSPEC SOURCE=INLINE.
BEGIN GPL
  SOURCE: s=userSource(id("graphdataset"))
  DATA: X=col(source(s), name("X"))
  DATA: Y=col(source(s), name("Y"))
  GUIDE: axis(dim(1), label("X"))
  GUIDE: axis(dim(2), label("Y"))
  ELEMENT: point(position(X*Y))
END GPL.

To change to a log scale, all you need to add the highlighted SCALE statement. The SCALE clause asks for a logged Y axis.

GGRAPH
  /GRAPHDATASET NAME="graphdataset" VARIABLES=X Y
  /GRAPHSPEC SOURCE=INLINE.
BEGIN GPL
  SOURCE: s=userSource(id("graphdataset"))
  DATA: X=col(source(s), name("X"))
  DATA: Y=col(source(s), name("Y"))
  GUIDE: axis(dim(1), label("X"))
  GUIDE: axis(dim(2), label("Y"))
  SCALE: log(dim(2), base(2))
  ELEMENT: point(position(X*Y))
END GPL.
Jitter scatterplot

The pasted code has been generated by the Chart Builder

* Chart Builder.
GGRAPH
  /GRAPHDATASET NAME="graphdataset" VARIABLES=v203 v271 MISSING=LISTWISE REPORTMISSING=NO
  /GRAPHSPEC SOURCE=INLINE.
BEGIN GPL
  SOURCE: s=userSource(id("graphdataset"))
  DATA: v203=col(source(s), name("v203"))
  DATA: v271=col(source(s), name("v271"))
  GUIDE: axis(dim(1), label("GDP per capita (1987 US$), 1997"))
  GUIDE: axis(dim(2), label("Infant mortality rate (per 1,000 live births), 1970"))
  ELEMENT: point(position(v203*v271))
END GPL.

To jitter the scatterplot (jittering is not available in the Chart Builder) change the function producing a scatterplot point() into point.jitter().

GGRAPH
  /GRAPHDATASET NAME="graphdataset" VARIABLES=v203 v271 MISSING=LISTWISE REPORTMISSING=NO
  /GRAPHSPEC SOURCE=INLINE.
BEGIN GPL
  SOURCE: s=userSource(id("graphdataset"))
  DATA: v203=col(source(s), name("v203"))
  DATA: v271=col(source(s), name("v271"))
  GUIDE: axis(dim(1), label("GDP per capita (1987 US$), 1997"))
  GUIDE: axis(dim(2), label("Infant mortality rate (per 1,000 live births), 1970"))
  ELEMENT: point.jitter(position(v203*v271))
END GPL.