How to change the order of Row panels with GPL?

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

How to change the order of Row panels with GPL?

Eero Olli

Dear List members,

 

I am having trouble with changing the order of row panels (and panel columns).  The example below produces a 3 BY 3 BY 3 BY 3 BARCHART.  I can change the order of variables on the floor of the image (dim1 and dim2), whereas I have not found a method for changing the order of dim4 and dim5, which are the paneling variables.   I have tried using string variables, numeric variables with labels with these functions for dim5, reverse(), sort.natural(), sort.values() but nothing I do changes the order of row panels. The same appears to be for column panels. 

 

The resulting figure can be seen here   http://www.eero.no/temp/4d_boxplot_Panel_order.jpg

I would like to change the order of row panels so that Pro H is on the top and Contra h is on the bottom.

 

This is the syntax that produces the figure.

* Chart Builder.

GGRAPH

  /GRAPHDATASET NAME="graphdataset" VARIABLES=EBiaz3 COUNT()[name="COUNT"] IBiaz3 FBiaz3 HBiaz3

    MISSING=LISTWISE REPORTMISSING=NO

  /GRAPHSPEC SOURCE=INLINE

  .

BEGIN GPL

  SOURCE: s=userSource(id("graphdataset"))

  DATA: EBiaz3=col(source(s), name("EBiaz3"), unit.category())

  DATA: COUNT=col(source(s), name("COUNT"))

  DATA: IBiaz3=col(source(s), name("IBiaz3"), unit.category())

  DATA: FBiaz3=col(source(s), name("FBiaz3"), unit.category())

  DATA: HBiaz3=col(source(s), name("HBiaz3"), unit.category())

  COORD: rect(dim(1,2,3))

  GUIDE: axis(dim(1), label("IBiaz3"))

  GUIDE: axis(dim(2), label("EBiaz3"))

  GUIDE: axis(dim(3), label("Count"))

  GUIDE: axis(dim(4), label("FBiaz3"), opposite())

  GUIDE: axis(dim(5), label("HBiaz3"), opposite())

  SCALE: cat(dim(2), include("1.0", "2.0", "3.0"))

  SCALE: linear(dim(3), include(0))

  SCALE: cat(dim(1), include("1.0", "2.0", "3.0"), reverse())

  SCALE: cat(dim(4), include("1.0", "2.0", "3.0"))

  SCALE: cat(dim(5), include("1.0", "2.0", "3.0"), reverse(), sort.values("3.0", "2.0","1.0" ))

  ELEMENT: interval(position(IBiaz3*EBiaz3*COUNT*FBiaz3*HBiaz3), shape.interior(shape.square))

END GPL.

 

 

I have tried replacing the last SCALE: statement with each one these, but the order of panels is always the same.

  SCALE: cat(dim(5), include("1.0", "2.0", "3.0"), sort.values("3.0", "2.0","1.0" ))

  SCALE: cat(dim(5), include("1.0", "2.0", "3.0"), reverse())

  SCALE: cat(dim(5), include("1.0", "2.0", "3.0"))

  SCALE: cat(dim(5), include("1.0", "2.0", "3.0"), sort.natural())

 

I would like to hear if anyone is able to control the order of panels, if so and how they do it.

 

Sincerely,

 

 

 

 

________________________________________

Eero Olli

Senior Advisor

the Equality and Anti-discrimination Ombud

[hidden email]                  +47 2315 7344

POB 8048 Dep,     N-0031 Oslo,     Norway