Nuolien piirto ja pitkien komentorivien katkaisu

[viesti Survo-keskustelupalstalla (2001-2013)]

Kirjoittaja: Petri Palmu
Sähköposti:    petri.palmu'at'tek.fi
Päiväys: 24.6.2004 12:30

Moi!

Tässä väliin hieman arkisempaa, ruohonjuuritason juttuja. Laitan samaan
viestiin parikin eri aihetta.

1. Nuoliviivojen (miksei käyrienkin) tekeminen. Kun yritän tehdä POINT
täsmennyksen (kolmio sopivalla rot() :lla) avulla, niin tämä nuolen
kärjeksi tarkoitettu kolmio tulee myös nuoliviivan lähtöpisteeseen.

Millä keinoilla saisin nuolen tyyppiä  "---->"  nuolen ">----->"
sijasta?
Toki joskus voi olla tarvetta esim. "<----->" tyyppisiin nuoliin, mutta
se onnistunee kerrostamalla nuolet "---->" ja "<-----" päälletysten.




..............
2. Pitkien esim. lausekkeiden (esim. VAR(STAT),PLOT,FILE MASK)
kirjoittaminen silloin, kun ne ovat pitkiä (> 72 merkkiä)

Yleisesti ei kai ole järkevää, että komentorivit menevät 72 merkin
yli. Kuitenkin tällaisia tilanteita saattaa tulla vastaan, esim. jos
muuttujien nimet ovat pitkiä ja/tai niitä on useampi. Esim. GPLOTissa 13
8 merkin pituista muuttujaa vaativat yhteensä 13*8=104 merkkiä jo ilman
tarvittavia pilkkuja ja GPLOT <data> tekstiä.

Alla pieni koedata, jolla yritän havainnollistaa eri ongelmatilanteita:
.......................
DATA _KOE1
X1  X2 X3 X4
6   1  9  9
6   2  9  7
4   1  9  5
6   6  4  7
8   7  4  5

.......................
FILE COPY _KOE1 KOE / kopsaus Survon data tiedostoksi

Aineistossa muuttujia on vähän ja nimet ovat lyhyitä (2 merkkiä), mutta
kuvitellaan, että X:iä olisi "useita" ja/tai muuttujien nimet pitkiä.

Ensin tilanne, johon löysin ratkaisun....
a) Lasketaan rivisummat VARSTATilla (ajatellen, että komentorivi on
jouduttaisiin katkaisemaan X2:n ja taas X3:n kohdalta)

VAR Y=MISSING TO KOE1
VARSTAT KOE1,Y,SUM
Y=X1+X2+& 
X3& 
+X4

FILE SHOW KOE1

FILE LOAD KOE1,CUR+1
DATA KOE1*,A,B,C
 X1 X2 X3 X4           Y
  6  1  9  9      25.000
  6  2  9  7      24.000
  4  1  9  5      19.000
  6  6  4  7      23.000
  8  7  4  5      24.000

Kuten näkyy, niin rivisummat tuli laskettua oikein :)
....................
Sitten ongelmat, joihin en löytänyt ratkaisua...
b) FILE MASK
c) GPLOT


b) Sukroissa olen törmännyt tilanteisiin, jossa FILE MASK
-toiminto on suureksi avuksi, kun merkitään tietyt muuttujat maskilla
esim. GNSSSSXXXXX . Parhaimmillaan (pahimmillaan) maski on ollut
reilusti yli sata merkkiä, kun pinottu (paneeli)aineisto on levitetty
sarakkeille.

Tehdään KOE1:lle maski XXXXY (nyk. AAAAA tilalle):

FILE STATUS KOE1
 Copy of data matrix _KOE1
FIELDS: (active)
   1 NA_   1 X1       (##)
   2 NA_   1 X2       (##)
   3 NA_   1 X3       (##)
   4 NA_   1 X4       (##)
   5 NA-   4 Y        ~MISSING
END
Survo data file KOE1: record=25 bytes, M1=9 L=64  M=5 N=5

FILE MASK KOE1,X1,1,XXXXY   / tämä aktivoidaan

Tuloksena on:
FILE STATUS KOE1
 Copy of data matrix _KOE1
FIELDS: (active)
   1 NX_   1 X1       (##)
   2 NX_   1 X2       (##)
   3 NX_   1 X3       (##)
   4 NX_   1 X4       (##)
   5 NY-   4 Y        ~MISSING
END
Survo data file KOE1: record=25 bytes, M1=9 L=64  M=5 N=5

Homma toimii OK.

Mutta, jos FILE MASK komentorivi on yli 72 merkkiä, niin a) kohdan
katkaisu & :lla ei onnistu.

Siis esim.
FILE MASK KOE1,X1,1,XX& 
XX& 
Y

tuottaa virheellisesti XX& .

FILE STATUS KOE1
 Copy of data matrix _KOE1
FIELDS: (active)
   1 NX_   1 X1       (##)
   2 NX_   1 X2       (##)
   3 N&_   1 X3       (##)
   4 NA_   1 X4       (##)
   5 NA-   4 Y        ~MISSING
END
Survo data file KOE1: record=25 bytes, M1=9 L=64  M=5 N=5

Yksi tapa, joka tuli mieleen olisi:
FILE MASK KOE1,X1,1,*M

*M=XX& 
XX& 
XY

 *M=... on minusta Survossa tosi mieleinen tekniikka (esim. kuvissa)
...............................
c) GPLOT
Sama FILE MASK ongelma tuli esiin GPLOTissa
GPLOT KOE1,X1,& 
X2,X3

Antaa virheilmoituksen (muuttujaa "&" ei löydy) .

Varsinkin sukroissa saattaa olla
välttämätöntä katkaista pitkiä komentorivejä. Ei liene järkevää muutella
editorikentän leveyttä RESIZEn avulla, joka sillä hetkellä voi olla mitä
tahansa.

Kenties ongelmiini on olemassa ratkaisut, mutta en
ole niitä (taaskaan) hoksannut ;)

Hauskaa Juhannusta!

t. Petri

Vastaukset:

Survo-keskustelupalstan (2001-2013) viestit arkistoitiin aika ajoin sukrolla, joka automaattisesti rakensi viesteistä (yli 1600 kpl) HTML-muotoisen sivukokonaisuuden. Vuoden 2013 alusta Survo-keskustelua on jatkettu entistäkin aktiivisemmin osoitteessa forum.survo.fi. Tervetuloa mukaan!

Etusivu  |  Keskustelu
Copyright © Survo Systems 2001-2013. All rights reserved.
Updated 2013-06-15.