ae716a3b8d669a9b55f14b3eca7af5d8ad631469
[pspp] / tests / language / stats / graph.at
1 AT_BANNER([GRAPH])
2
3 AT_SETUP([GRAPH simple scatterplot])
4 AT_DATA([scatterplot.sps],[
5 * Simple Scatterplot test
6 NEW FILE.
7 INPUT PROGRAM.
8 LOOP #i = 1 to 100.
9 COMPUTE Age = RV.NORMAL(40,10).
10 END CASE.
11 END LOOP.
12 END FILE.
13 END INPUT PROGRAM.
14
15 COMPUTE Size = Age * 3 + 50.
16
17 GRAPH
18     /SCATTERPLOT(BIVARIATE) = Age WITH Size. 
19
20 ])
21
22 AT_CHECK([pspp -O format=csv scatterplot.sps], [0], [ignore])
23
24 AT_CLEANUP
25
26
27 AT_SETUP([GRAPH Scatter and Histogram])
28 AT_DATA([scatterlong.sps],[
29 NEW FILE.
30 INPUT PROGRAM.
31 LOOP #i = 1 to 10000.
32 COMPUTE Age = RV.NORMAL(40,10).
33 COMPUTE CityNum = TRUNC(UNIFORM(2.95)).
34 END CASE.
35 END LOOP.
36 END FILE.
37 END INPUT PROGRAM.
38
39 COMPUTE Size = Age * 3 + 50 + 50*CityNum.
40
41 STRING City (a20).
42
43 Recode CityNum 
44        (0 = "Madrid")
45        (1 = "Paris")
46        (ELSE = "Stockholm")
47        into City.
48
49  GRAPH
50     /SCATTERPLOT(BIVARIATE) = Age WITH Size 
51
52  GRAPH
53     /SCATTERPLOT(BIVARIATE) = Age WITH CityNum
54  
55  GRAPH
56     /SCATTERPLOT = CityNum WITH Age
57
58  GRAPH
59     /SCATTERPLOT = CityNum WITH Size
60
61  GRAPH
62     /SCATTERPLOT(BIVARIATE) = Age WITH Size BY City
63
64  GRAPH
65     /SCATTERPLOT(BIVARIATE) = Age WITH Size BY CityNum
66
67  ADD VALUE LABELS 
68     /CityNum 1 'Rio' 2 'Tokyo' 0 'Mumbai'.
69
70  GRAPH
71     /SCATTERPLOT(BIVARIATE) = Age WITH Size BY CityNum
72
73  GRAPH
74     /HISTOGRAM = Age.
75
76 ])
77
78 AT_CHECK([pspp -O format=pdf scatterlong.sps], [0], [ignore])
79 AT_CLEANUP
80
81 AT_SETUP([GRAPH missing values don't crash])
82 AT_DATA([scatter.sps], [dnl
83 data list list /x * y *.
84 begin data.
85 1 0
86 2 0
87 . 0
88 3 1
89 4 1
90 5 .
91 6 1
92 end data.
93 graph 
94       /scatterplot = x with y.
95 graph
96       /histogram = x. 
97 ])
98 AT_CHECK([pspp -o pspp.pdf scatter.sps])
99 dnl Ignore output -- this is just a no-crash check.
100 AT_CLEANUP
101
102 AT_SETUP([GRAPH missing=VARIABLE no crash])
103 AT_DATA([scatter.sps], [dnl
104 data list list /x * y *.
105 begin data.
106 1 0
107 2 0
108 . 0
109 3 1
110 4 1
111 5 .
112 6 1
113 end data.
114 graph 
115       /scatterplot = x with y
116       /missing = VARIABLE.
117 graph
118       /histogram = x
119       /missing = VARIABLE.
120 ])
121 AT_CHECK([pspp -o pspp.pdf scatter.sps])
122 dnl Ignore output -- this is just a no-crash check.
123 AT_CLEANUP
124
125 AT_SETUP([GRAPH missing value in by variable])
126 AT_DATA([scatter.sps], [dnl
127 data list list /x * y * z *.
128 begin data.
129 1 0 9
130 2 0 9
131 . 0 9
132 3 1 .
133 4 1 8
134 5 . 8
135 6 1 8
136 end data.
137 graph 
138       /scatterplot = x with y by z
139       /missing = VARIABLE.
140
141 graph 
142       /scatterplot = x with y by z.
143
144 ])
145 AT_CHECK([pspp -o pspp.pdf scatter.sps])
146 dnl Ignore output -- this is just a no-crash check.
147 AT_CLEANUP
148
149
150 AT_SETUP([GRAPH histogram with null data])
151 AT_DATA([null-hist.sps], [dnl
152 data list list /x *.
153 begin data.
154 1109 
155
156 end data.
157
158 graph 
159       /histogram = x.
160
161 ])
162
163 AT_CHECK([pspp -o pspp.pdf null-hist.sps], [0], [ignore])
164 dnl Ignore output -- this is just a no-crash check.
165 AT_CLEANUP