options ls=78 ps=60 nodate; data britdist (type=distance); input town $ aberystw brighton carlisle dover exeter glasgow hull invernes leeds london newcastl norwich; cards; aberystw 0 244 218 284 197 312 215 469 166 212 253 270 brighton 244 0 350 77 167 444 221 583 242 53 325 168 carlisle 218 350 0 369 347 94 150 251 116 298 57 284 dover 284 77 369 0 242 463 236 598 257 72 340 164 exeter 197 167 347 242 0 441 279 598 269 170 359 277 glasgow 312 444 94 463 441 0 245 169 210 392 143 378 hull 215 221 150 236 279 245 0 380 55 168 117 143 invernes 469 583 251 598 598 169 380 0 349 531 264 514 leeds 166 242 116 257 269 210 55 349 0 190 91 173 london 212 53 298 72 170 392 168 531 190 0 273 111 newcastl 253 325 57 340 359 143 117 264 91 273 0 256 norwich 270 168 284 164 277 378 143 514 173 111 256 0 ; run; proc mds data=britdist out=out shape=square; id town; run; proc print data=out; run; proc plot data=out; plot dim1*dim2 $ town; run; /* Flip the picture upside down */ data out; set out; d1=-dim1; d2=-dim2; run; proc plot data=out; plot d1*d2 $ town; run;