Copyright: Created with EasyHelp/Web +44(0)973 209667


INHOUD

1	INLEIDING

2	HARD- EN SOFTWARE EISEN

3	INSTALLATIE

4	OPSTARTEN VAN XY

5	CONFIGURATIE FILES

6	JOBFILES

7	OPDRACHTREGEL ARGUMENTEN

8	XY EN ANDERE PROGRAMMA'S

9	KLEURINSTELLINGEN

10	DEFINITIE VAN HET VIGNET

11	XY PLAATJES PRINTEN

12	QUICK REFERENCE


inleiding
1	INLEIDING

XY is ontstaan uit de volgende drie wensen:

1.	een tekenprogramma beschikbaar te hebben voor de platforms ms-dos, windows en x-windows (unix),

2.	een tekenprogramma beschikbaar te hebben dat op eenvoudige wijze aan andere programma's gekoppeld kan worden. Hierbij kan gedacht worden aan simulatie modellen en database programma's,

3.	een tekenprogramma beschikbaar te hebben dat op eenvoudige wijze, direct vanaf de dos of unix prompt, opgestart kan worden.

Om aan deze wensen te voldoen is een programma ontwikkeld dat zijn invoer (data en grafiek-instellingen) geheel via ascii bestanden aangeleverd krijgt. Het programma kent een groot aantal opdrachten, waardoor de figuren geheel aan de wensen van de gebruiker kunnen worden aangepast. Daar de meeste grafiek instellingen standaard waarden hebben, kun je met weinig opdrachten al aan de slag. Door het gebruik van fonts en de ondersteuning van zowel zwart-wit als kleuren PostScript, kunnen de figuren meestal direct in publicaties worden opgenomen.

Deze handleiding beschrijft versie 3.0 van xy. Deze versie is vrijwel volledig compatible met de eerste versie van xy (versie 1.0) en volledig compatible met versie 2.0.

_______

1.1	Mogelijkheden en eigenschappen van het programma

1.2	Verschillen tussen versie 2.0 en 3.0

1.3	Hoe te beginnen?


mogelijkheden en eigenschappen
1.1	Mogelijkheden en eigenschappen van het programma

XY is een grafisch pakket met de volgende eigenschappen:

1.	Het programma is beschikbaar voor pc en unix-werkstation. Hierdoor is xy uitermate geschikt in een omgeving waar met zowel werkstations als met pc's gewerkt wordt. Werkstation gebruikers die niet over een grafische terminal beschikken kunnen xy op de pc gebruiken. Conversie van unix naar dos formaat is hierbij niet nodig. De DOS versie van het programma stelt weinig hardware eisen. Vrijwel alle gangbare grafische kaarten worden ondersteund (svga, vga, ega, cga). Het programma ondersteunt zowel kleuren als zwart-wit (encapsulated) PostScript. De PostScript files kunnen eenvoudig in (bijvoorbeeld) WordPerfect worden ingelezen. De Windows-versie ondersteunt uitvoer via alle Windows-drivers.

2.	Het programma is gericht op het snel tekenen van grafieken. Het programma kan direct vanaf de dos of unix prompt worden opgestart. Het geven van de opdracht xy gevolgd door de naam van de datafile is al voldoende om een (eenvoudig) plaatje te tekenen.

1.	Instellingen van plaatjes (as minimum en maximum, titels, etc.) en data worden via ascii files ingelezen. Door andere programmatuur (simulatiemodellen of databases) het bestand met grafiek instellingen te laten schrijven, kan xy eenvoudig aan andere programma's worden gekoppeld. Hierdoor kan xy eenvoudig worden ingebouwd in een geautomatiseerde omgeving. Speciale opdrachten voor archivering zijn beschikbaar (bijvoorbeeld plotten van naam invoerfile, de tijd en de datum).

1.	Het inlezen van gegevens is flexibel opgezet: Dataseries hoeven niet even lang te zijn, kunnen verschillende X-waarden hebben, ontbrekende- en foutieve waarden kunnen eenvoudig worden opgegeven en gegevens kunnen zonder voorbewerking uit meerdere files tegelijkertijd worden gelezen. Het aantal te plotten datapunten is niet gebonden aan een maximum.

5.	xy ondersteunt drie fonts (Helvetica, Times-Roman en Courier). De plaatjes kunnen hierdoor zonder meer in een publikatie worden opgenomen. De PostScript files kunnen in WordPerfect worden geladen.

6.	xy kent acht soorten grafieken.

1	lijn diagrammen,

2	scatter diagrammen,

3	bar diagrammen,

4	area diagrammen,

5	ordinatie diagrammen,

6	contour diagrammen,

7	kaarten,

8	vector diagrammen

Veel van deze grafieksoorten kunnen worden gecombineerd.

7.	Verdere mogelijkheden zijn o.a.:

-	meerdere plaatjes op één pagina plotten,

-	twee Y-assen definieren,

-	gegevens met één opdracht schalen of cumulatief uitzetten,

-	plotten van spreiding m.b.v. error bars of een ingekleurd vlak,

-	lineaire regressie,

-	wiskundige bewerkingen,

-	logaritmische assen,

-	labels langs de assen plotten. Op deze manier kan bijvoorbeeld een X-as met maanden worden gedefinieerd,

-	plotten van een grid,

-	plaatsen van legenda op elke willekeurige plaats in het plaatje.

_______

1.2	Verschillen tussen versie 2.0 en 3.20


Verschillen tussen versie 2.0 en 2.8
1.2	Verschillen tussen versie 2.0 en 3.20

Versie 3.20 is compatible met de vorige versies. Het programma kent een groot aantal uitbreidingen:

Ondersteuning van vesa-compatible super-VGA (MS-DOS).

Maximaal 32 i.p.v. 9 dataseries.

Markergrootte per dataserie instelbaar.

Wijzigen van de default markertypes.

Uitgebreidde mogelijkheden van de parser.

Gebruik maken van detectiewaarden (bijv. <0.01)

Transparante of met achtergrondkleur gevulde achtergrond van legenda.

Tekenen van speciale tekens.

Gedraaide labels.

Gedraaide teksten langs X-as.

Gedraaide tekst.

Vaste positie opgeven van teksten langs de y-as.

Datum en tijd nu ook in configuratiefiles.

Datum nu ook in nederlands.

Bij een vectordiagram kan de breedte van de buitenrand worden opgegeven, en kan het tekenen van grenslijnen worden onderdrukt.

Efficiëntere gridkaart bestanden.

Schaalbalk in kaart.

Noordpijl in kaart.

Polygoon lijnkleur en polygoon lijndiktes voor verschillende klassen.

Tekenen van polygonen in een grafiek.

Labels in polygonenkaart.

Samenvoegen van kaarten.

Niet continue klasseïndeling bij gridkaarten.

Zoom opdracht kan zoomen buiten oorspronkelijke grenzen van de kaarten.

In een configuratiefile binnenhalen van andere configuratiefiles.

Extra commando's via de opdracht regel opgeven.

Aanstuurmogelijkheden van meerdere printers instellen.

Portrait/Landscape opdracht in configuratie- of jobfile.

Uitvoer (windows-versie) naar Enhanced Metafile. Dat is direct in Word en vele andere Windows-programma's in te lezen.

Bij een printer met meerdere bakken de papierlade kiezen.

Instellen van een standaardprinter voor xywin.

Rechtstreeks printen naar standaardprinter voor xywin.

Opnemen van bitmaps als (deel van) achtergrond van de gehele figuur, of - al dan niet geschaald - van het grafiekdeel, of als patroon.

Tekenen van horizontale bars.

Vlakken vullen met patronen i.p.v. met effen kleuren of grijstinten.

_______

1.3	Hoe te beginnen?


Hoe te beginnen?
1.3	Hoe te beginnen?

Draai allereerst eens de xy demo (ms-dos, pc-windows, x-windows).

Door het grote aantal mogelijkheden lijkt het gebruik van xy ingewikkeld. xy kent voor vrijwel alle mogelijkheden echter standaardinstellingen, zodat de gebruiker al met weinig opdrachten uit de voeten kan. De meest essentiële informatie vind je in de volgende hoofdstukken:

1.	Installatie van het programma: hoofdstuk 3.

2.	Aanroep van xy: hoofdstuk 4.

3.	Algemene regels bij het opgeven van instellingen: Inleiding van hoofdstuk 5 en hoofdstuk 5.1.

4.	Inlezen van gegevens: hoofdstuk 5.5. De meest essentiele informatie staat in paragraaf 5.5.1.

5.	Teksten en legenda's: hoofdstuk 5.6.

6.	Instellen van assen (minimum, maximum, teksten, etc): hoofdstuk 5.7 t/m paragraaf 5.7.4.

7.	Soorten diagrammen, lijn- en symbooltypes, etc.: paragraaf 5.8.1.

Als je deze mogelijkheden eenmaal kent, dan zul je snel de behoefte hebben gebruik te maken van meer geavanceerde opties (zoals het lezen van data uit meerdere files, het tekenen van twee Y-assen, het uitvoeren van lineaire regressie, het tekenen van contour diagrammen en het plotten van meerdere plaatjes op één pagina). Via de index kun je de onderwerpen vrij snel vinden. Daarnaast is een lijst van opdrachten met hun argumenten opgenomen. Deze quick reference staat in hoofdstuk 12. Verder heeft xy een online manual. Als met xyshell (pc-windows) wordt gewerkt, dan worden de argumenten van de opdrachten automatisch weergegeven.

ms-dos:

Door xy -h of xy -? te typen krijg je een overzicht van alle opdrachten. Door het intypen van xy -h gevolgd door een letter krijg je alle opdrachten die met de opgegeven letter beginnen, dan wel waarin de string voorkomt, bijvoorbeeld:

xy -h	Laat alle opdrachten zien.

xy -?	idem.

xy -h c	Laat alle opdrachten die met een c beginnen zien

xy -h axis	Laat alle opdrachten zien waarin het woord `axis' voorkomt.

Opdrachten in configuratie files worden in de tekst aangeduid met het volgende symbool:

Opdrachten staan in de handleiding in donkerrood. In de configuratie files is het gebruik van hoofd- en kleine letters toegestaan. In de opdrachten duiden vierkante haken op argumenten die mogen worden weggelaten. Een verticale streep betekent een keuzemogelijkheid:

opdracht argument1 [argument2] [0|1]

In dit voorbeeld is het achter de opdracht genoemde argument verplicht, het tweede argument mag eventueel worden weggelaten en voor het derde argument mag naar keuze een 0 of een 1 worden ingevuld of het mag helemaal worden weggelaten. Als het derde argument wordt ingevuld, moet ook de tweede worden ingevuld. Met een '!' wordt de standaard instelling gebruikt.

In de opdrachten duiden twee puntjes op `t/m' en het woord `vlag' duid op een aan of uit instelling die de waarde 1 (aan) of 0 (uit) mag hebben.

Opdrachtregel argumenten (opdracht die tijdens de aanroep van het programma moeten worden opgegeven) worden in de tekst als volgt aangeduid:

Voorbeelden worden als volgt weergegeven:

Voorbeeld 1:


hard- en software eisen
2 HARD- EN SOFTWARE EISEN

Het programma is geschreven voor de werkomgevingen ms-dos, pc-windows en x-windows onder unix.

ms-dos

Voor ms-dos is een cga, ega, vga of svga (VESA-compatible) scherm noodzakelijk. Een harde schijf is wenselijk. Het programma heeft voldoende aan 450 kByte geheugenruimte.

Het programma ondersteunt PostScript printers (zwart-wit en kleur). Om rechtstreeks vanuit xy te printen is een PostScript printer noodzakelijk. Als je niet beschikt over een PostScript printer, dan kun je via een omweg toch printen. Daartoe is de mogelijkheid ingebouwd PostScript files te bewaren. Deze files kun je binnenhalen in het programma GoScript. Dit programma is in staat PostScript files te printen op tal van matrix, inktjet en laserprinters. GoScript kan vrij verspreid worden.

pc-windows

xy draait onder Windows 3.0 en hoger. Het printen verloopt via windows-drivers. Ook is het mogelijk om xy-PostScript files en Enhanced Metafiles te bewaren.

x-windows/unix

xy draait onder x-windows. Het programma is zodanig geschreven dat files in unix formaat rechtstreeks (dus zonder tussenkomst van de opdracht unix2dos) gelezen kunnen worden. Deze optie is ook aantrekkelijk voor een ieder die via een pc op een werkstation werkt.

Voor het printen geldt hetzelfde als voor de ms-dos versie.


installatie
3	INSTALLATIE

3.1	ms-dos versie

3.2	x-windows/unix versie

3.3	pc-windows versie

_______


installatie ms-dos versie
3.1	ms-dos versie

Het programma wordt verstrekt op één 3.50'' diskette. Deze diskette bevat de volgende files:

1	pscinit.xy	file met PostScript definities.

2	psprint.bat	voorbeeld batch file met definitie van print opdracht.

3	sr.exe	regel selectie programma.

4	xy.exe	executable.

5	xy_def.set	file met, door de gebruiker in te stellen, standaardinstellingen.

6	xycolor.set	file met standaardinstellingen voor kleuren (scherm

en kleuren PostScript) en grijstinten (zwart wit

PostScript).

7	xyusage.txt	file met scherm meldingen.

8	xyvignet.dat	file met definitie van standaard vignet.

Het programma moet als volgt geïnstalleerd worden:

1.	Ga naar de drive waarin de floppy zich bevind (bijvoorbeeld A:) en type INSTALL. De installatie spreekt voor zich.

2.	Indien een PostScript printer beschikbaar is, wijzig de batch file psprint.bat. In deze file staat beschreven hoe een PostScript file naar de printer gestuurd moet worden, bijvoorbeeld net print %1 lpt3: (netwerk) of copy %1 lpt1/b (zonder netwerk).

3.	Pas de file xy_def.set (zie hoofdstuk 5.2) aan je persoonlijke wensen aan. In deze file staan de standaardinstellingen van xy. Om deze file aan te kunnen passen, moet je al wat ervaring met xy hebben. Het wijzigen van deze file kun je daarom beter doen als je al een tijdje met xy gewerkt hebt.

4.	xy zet tussenbestanden standaard in de huidige directory. Het programma kan aanzienlijk versneld worden door deze tussenbestanden naar een ram drive te laten schrijven. Zet daarom, indien een ram drive beschikbaar is, de omgevingsvariable tmp. (bijvoorbeeld set tmp=d:\). Raadpleeg voor het maken van een ram drive de ms-dos handleiding.

5.	Reboot, indien je config.sys of autoexec.bat gewijzigd hebt, de computer.

6.	Type xy. Als je melding `XY version 2.0 - 01/01/94' op je scherm krijgt, beschik je over de versie van xy die bij deze handleiding hoort.

7.	xy kent een aantal standaardinstellingen (kleuren, lijntypes, etc.). De standaard kleuren kun je wijzigen (zie hoofdstuk 9) in de file xycolor.set, de overige standaard instellingen in de file xy_def.set (zie hoofdstuk 5.2).

Demo

Om kennis te maken met de mogelijkheden van het programma kun je de demo draaien:

1.	Type cd c:\xy\demo (of een andere directory als je xy elders geïnstalleerd hebt).

2.	Type demo.

_______

3.2	x-windows/unix versie


x-windows/unix versie
3.2	x-windows/unix versie

XY is beschikbaar voor x-windows onder unix. Op dit moment is er een versie voor de HP-700 serie. Indien interesse bestaat voor xy op andere werkstations, neem dan contact op met één van beide auteurs. In dit geval moet n.l. een nieuwe executable worden aangemaakt. xy onder x-windows is volledig identiek aan de ms-dos versie. Deze handleiding is dus van toepassing op beide versies.

Indien je niet beschikt over een grafische terminal, maak dan gebruik van de pc versie van xy. Het programma is zodanig geschreven dat files in unix formaat rechtstreeks (dus zonder tussenkomst van de opdracht unix2dos) gelezen kunnen worden.

Om het programma voor x-windows te installeren moeten de volgende stappen worden doorlopen (in deze paragraaf wordt ervan uitgegaan dat er een executable is. Indien deze niet aanwezig is moet eerst contact worden opgenomen met de auteurs).

1.	XY staat op een floppy disc (MS-DOS formaat). Zorg ervoor dat de inhoud van deze flop op het werkstation gezet wordt (meestal via een netwerkverbinding).

2.	Kopieer het bestand xy naar een directory die in het pad staat. Als xy in /usr/local/bin gezet wordt, kunnen alle gebruikers van het werkstation xy gebruiken.

3.	Maak een directory $HOME/xy (alle gebruikers van het werkstation moeten dit doen).

4.	Kopieer de bestanden uit de XY directory naar $HOME/xy.

5.	Maak een directory $HOME/xy/demo en kopieer de bestanden uit de directory xy\demo naar deze directory.

6.	Geef de opdracht xy -P. XY rekent nu het maximum aantal scherm pixels in de X en Y richting uit (x-pixels,y-pixels).

7.	Zet in het bestand .profile (K shell) de volgende regel: export SCREEN_SIZE=x-pixels,y-pixels (zie onder punt 6).

1.	Standaard worden de XY figuren schermvullend getekend. Dit kan worden veranderd door in .profile de volgende regel te zetten: export XY_WINDOW=x-pos,y-pos,breedte,hoogte. De coördinaten staan in pixels. Het aantal pixels van het hele scherm kan worden afgeleid uit de opdracht onder 6. Het punt 0,0 is links boven.

Demo

Om kennis te maken met de mogelijkheden van het programma kun je de demo draaien: type xydemo.

3.3	pc-windows versie


installatie pc-windows versie
3.3	pc-windows versie

Start het programma install.exe op de installatie floppy. Volg verder de aanwijzingen.

Demo

Start xydemo in demo-directory. Als xyshell is geïnstalleerd, start demo via demo icoon.


opstarten
4	OPSTARTEN VAN XY

XY(win) wordt vanaf de opdrachtregel gestart door het intypen van xy en een aantal argumenten:

xy(win) [DataFile] [-c ConfiguratieFile] [-p|l] [-S PostScriptFile] [-W l|p]

  [-j jobfile] [OverigeArgumenten]

Voor de windows-versie van xy (xywin) is een shell ontwikkeld waarmee xywin kan worden opgestart.

In de argumentenlijst moet mimimaal naar één file verwezen worden; n.l. naar een data file, naar een configuratie file (optie -c) of naar een jobfile (optie -j). Als je géén enkel argument opgeeft laat xy een korte gebruiksaanwijzing zien. Dit geldt ook voor xywin. Echter, wanneer er een bestand 'xywin.arg' bestaat, dan wordt de eerste regel van dat bestand opgevat als de opdrachtregel.

Als je géén configuratiefile opgeeft, gelden de volgende regels:

1	Alle instellingen (bijvoorbeeld as minimum en maximum) worden standaard gekozen. De globale configuratiefile (hoofdstuk 5.2) wordt hierbij wel automatisch gelezen. Op deze wijze kun je het standaard plaatje aan je wensen aanpassen.

2	In de datafile wordt kolom 1 als de X waarde beschouwd, kolom 2 als de eerste Y-waarde, etc; tenzij anders aangegeven met de opdracht xy_columns in de globale configuratiefile (hoofdstuk 5.2 en paragraaf 5.5.1)

DataFile

De datafile is een file met X-Y waarden in kolommen voor maximaal 32 dataseries. Deze file moet de volgende opmaak hebben:

X[1]	Y[1,1]	..	Y[1,n]

   ..

  	   ..

X[m]	Y[m,1]	..	Y[m,n]

Als je de data op een andere wijze aanlevert moet je dat in een configuratiefile aangeven (zie hoofdstuk 5.5).

Argument `-c ConfiguratieFile'

Achter argument -c moet je de naam van een file met instellingen (configuratiefile) opgeven. In deze file kun je zowel de instellingen van het plaatje (as instellingen, titels, legenda's, etc.), als de wijze waarop de data moeten worden ingelezen opgeven. Configuratiefiles staan uitgebreid beschreven in hoofdstuk 5. Als je in de configuratiefile niet aangeeft hoe de data moeten worden ingelezen moet je ook een datafile opgeven.

Argument `-S PostScriptFile'

Als je -S PostScriptFile opgeeft wordt een PostScript file gemaakt. Die kan met GoScript worden bekeken of uitgeprint, of in WordPerfect worden geladen (zie hoofdstuk 11). Optie -S moet altijd gecombineerd worden met optie -l (landscape printen) of optie -p (portrait printen).

Argument `-l' en `-p'

Met deze opties geef je xy de opdracht het plaatje naar een PostScript printer te sturen. xy maakt dan een PostScript file aan, stuurt deze naar de printer en verwijderd vervolgens deze file. Als je de PostScriptFile wilt bewaren moet je optie -l of -p combineren met optie -S. Optie -l betekent print landscape; d.w.z. op liggend A4 formaat. Optie -p geeft aan print portrait; d.w.z. op staand A4 formaat. Om de opties -p en -l te kunnen gebruiken moet de batch file psprint.bat (ms-dos) of script file psprint (x-windows) gedefinieerd zijn (zie hoofdstuk 3.1), behalve wanneer optie -S is gebruikt.

Argumenten `-W l' en `-W p'

Deze opties geven een preview van het plaatje op landscape of portrait formaat. Voor MS-DOS en X-Windows is het geen echte wysiwyg preview (met name de letters worden niet in het juiste lettertype weergegeven waardoor de breedten van de teksten kunnen afwijken), maar het geeft wel een indruk van de verhoudingen.

Als in een setfile of jobfile de opdracht portrait of landscape wordt gegeven wordt het plaatje afgebeeld alsof -W p of -W l is opgegeven.

Argument `-j JobFile'

Achter deze optie kun je een file opgeven waarin meerdere aanroepen naar xy staan. Met behulp van een dergelijke file kun je meerdere plaatjes op één pagina plotten. Zie hoofdstuk 6.

Overige argumenten

Naast deze argumenten kun je een groot aantal andere argumenten opgeven. Deze worden in het algemeen door ervaren gebruikers toegepast. Daar het opdrachten zijn die tijd kunnen besparen, herken je ze in de tekst aan het volgende teken:

Opdrachtregel argument -b betekent: teken symbolen en lijnen

De meeste van deze opdrachten kunnen ook in een configuratiefile worden opgenomen. De overige opdrachtregel argumenten staan beschreven in hoofdstuk 7.

Voorbeeld 2:

Voorbeeld 3:

Voorbeeld 4:

Voorbeeld 5:


configuratie files
5	CONFIGURATIE FILES

Veel opties kunnen via een configuratie file worden opgeven. Een aantal van de opties in een configuratie file kun je ook via argumenten in de opdrachtregel wijzigen. Veel opties zijn echter uitsluitend via een configuratiebestand te bereiken. In de volgende gevallen moet je in ieder geval een configuratiefile maken:

1.	Als de gegevens op een andere wijze dan in het formaat X Y[1] .. Y[6] aangeleverd worden,

2.	Als er titels, teksten langs de assen, en een legenda getekend moeten worden,

3.	Als de instellingen van de assen gewijzigd moeten worden,

4.	Als je een tweede Y-as wilt tekenen,

5.	Als je gemengde diagrammen wilt maken (bijvoorbeeld een combinatie van staaf- en lijndiagrammen),

6.	Als je contour diagrammen, kaarten, ordinatie diagrammen of vector diagrammen wilt tekenen.

5.1	Opbouw van de configuratiefile

5.2	De configuratiefile met globale instellingen

5.3	Speciale lettertypes

5.4	Veranderen van de layout van xy plaatjes

5.5	Inlezen en aanpassen van gegevens

5.6	Titels en legenda's

5.7	Instellingen van de assen

5.8	XY diagrammen

5.9	Contour diagrammen

5.10	Kaarten

5.11	Vectordiagrammen voor het plotten van een snelheidsveld

5.12	Achtergronden met bitmaps

5.13	Het binnenhalen van andere configuratiefiles

5.14	Vlakvulling met patronen.

_______


opbouw van configuratie file
5.1	Opbouw van de configuratiefile

De configuratiefile bestaat uit een aantal sleutelwoorden gevolgd door één of meerdere instellingen. De sleutelwoorden moeten aan het begin van de regel staan. Regels die met een sterretje beginnen worden als commentaar beschouwd en worden overgeslagen.

Voorbeeld 6:

Het uitroepteken (!) zorgt ervoor dat de standaardinstelling gekozen wordt en heeft dus een speciale betekenis in de configuratiefile:

Voorbeeld 7:

Opdrachten mogen in configuratiefiles zowel in hoofd- als kleine letters worden opgegeven. Strings die uit meerdere woorden bestaan moeten soms door een quote worden omgeven. Je mag zowel enkele (' of `) als dubbele (") quotes gebruiken.

_______

5.2	De configuratiefile met globale instellingen


configuratie file met globale instellingen
5.2	De configuratiefile met globale instellingen

xy leest altijd eerst instellingen vanaf de file xy_def.set en vervolgens vanaf de locale configuratiefile die via de argumentenlijst (optie -c) is opgegeven. De opmaak van het bestand xy_def.set is identiek aan de opmaak van de locale configuratiefile. Opties in de locale configuratiefile overschrijven de opties in de file xy_def.set. Via de file xy_def.set kun je het standaardgedrag van het xy programma veranderen en aanpassen aan je eigen behoeftes.

Voor het gebruiken van super-VGA onder DOS is het noodzakelijk om in de file xy_def.set het commando vesa op te nemen.

vesa resolutie [kleuren_vlag]

De resolutie moet als volgt worden beschreven:

640	x	480

800	x	600

1024	x	768

1152	x	864

1280	x	1024

Standaard worden 16 kleuren gebruikt. Met kleuren_vlag op 1 worden 256 kleuren gebruikt. Deze optie voor vesa-compatible super-VGA kan alleen worden gebruikt wanneer dit door het systeem wordt ondersteund. Waarschuwing: wanneer de gekozen vesa-instelling niet wordt ondersteund kan schade aan het systeem optreden!

Voorbeeld 8:

_______

5.3	Speciale lettertypes


speciale lettertypes
5.3	Speciale lettertypes

5.3.1	Super en subscript

5.3.2	Symbol lettertype (griekse letters)

5.3.3	Speciale tekens

5.3.1	Super en subscript

Delen van teksten kunnen in subscript of superscript geplot worden. De tekst die in subscript getekend moet worden, laat je vooraf gaan door een escape code, gevolgd door een B van suBscript, tekst die in suPerscript moet komen wordt voorafgegeaan door escape P. Zowel super- als subscript worden beeindigd met de zelfde codes.

De standaard escape code is esc (op het scherm zichtbaar als ^[). Raadpleeg de handleiding van de editor voor het invoegen van een esc code. Je kunt de te gebruiken escape code wijzigen met de opdracht escape= (bijvoorbeeld escape=&). Deze opdracht kun je opnemen in het standaard configuratie bestand xy_def.set, de locale configuratiefile of in een jobfile.

escape=char	(let op: géén spaties; char duidt op het escape-character)

Tip:	In de vi editor kun je in insert mode een esc invoegen m.b.v. de toetsaanslagen CONTROL-V gevolgd door Esc.

Door een blok van superscript en subscript te `nesten', worden de teksten recht boven elkaar gezet (let dan op dat de laatste van de twee teksten het langst is).

Voorbeeld 9:

5.3.2	Symbol lettertype (griekse letters)

In de teksten kunnen griekse tekens opgenomen worden. De te plotten griekse tekens moeten voorafgegaan worden door een escape code, gevolgd door de S (van Symbol). De reeks griekse tekens wordt met dezelfde code afgesloten. Zie overzicht van de te plotten griekse tekens. De opdracht escape= (zie paragraaf 5.3.1) is ook van toepassing op deze opdracht.

Voorbeeld 10:

5.3.3 Speciale tekens

In de teksten kunnen speciale tekens worden opgenomen zoals: é, à, ç, etc. De te plotten speciale tekens moeten worden voorafgegaan door een escape code, gevolgd door C (van Character). Het speciale teken wordt dan bepaald door de gevolgde combinatie van twee tekens. De volgende tekens zijn beschikbaar:

À	(A`)	Á	(A')	Â	(A^)	Ã	(A~)	Ä	(A")	Å	(Ao)	Æ	(Ae)

È	(E`)	É	(E')	Ê	(E^)	Ë	(E")

Ì	(I`)	Í	(I')	Î	(I^)	Ï	(I")

Ò	(O`)	Ó	(O')	Ô	(O^)	Õ	(O~)	Ö	(O")

Ù	(U`)	Ú	(U')	Û	(U^)	Ü	(U")

à	(a`)	á	(a')	â	(a^)	ã	(a~)	ä	(a")	å	(ao)	æ	(ae)

è	(e`)	é	(e')	ê	(e^)	ë	(e")

ì	(i`)	í	(i')	î	(i^)	ï	(i")

ò	(o`)	ó	(o')	ô	(o^)	õ	(o~)	ö	(o")

ù	(u`)	ú	(u')	û	(u^)	ü	(u")

ý	(y')	Ý	(Y')	ñ	(n~)	Ñ	(N~)

©	(Oc)	®	(OR)	¼	(14)	½	(12)	¾	(34)

ç	(c,)	Ç	(C,)	ø	(o/)	Ø	(O/)	±	(+-)	÷	(-.)

_______

5.4	Veranderen van de layout van xy plaatjes


veranderen van de layout van XY plaatjes
5.4	Veranderen van de layout van xy plaatjes

De gebruiker kan de layout van xy plaatjes beïnvloeden. Tot de layout behoren:

-	de verhouding tussen de lengte van de X-as en de lengte van de Y-as (graph_ratio),

-	het al dan niet tekenen van een kader rond de legenda (legendbox, no_legendbox) en het plaatje (open_graph),

-	het tekenen van een grid (draw_grid) en een nullijn (zero_axis),

-	het letter type (courier, helvetica, times_roman, bold en no_bold; helvetica en no_bold zijn de default instellingen).

-	de achtergrondskleur (graph_background en legend_background),

-	de plaatsing van tic marks (tics_inside),

-	de lijndikte (line_width en axisline_width) en

-	de grootte van symbolen (marker_size) en letters (char_width).

Deze opdrachten zijn bij uitstek geschikt om in de file xy_def.set te zetten.

5.4.1	Verhouding tussen de lengte van de X-as en de lengte van de Y-as

5.4.2	Assenkader en kader rond legenda's

5.4.3	Fonts

5.4.4	Tekenen van een grid

5.4.5	Tekenen van een nul-lijn

5.4.6	Plaatsing van tic marks

5.4.7	Onderdrukken van het tekenen van labels en tics

5.4.8	Grootte van symbolen, teksten en lijndiktes

5.4.9	Achtergrondskleur van plaatjes en legenda's

5.4.1	Verhouding tussen de lengte van de X-as en de lengte van de Y-as

De verhouding tussen de lengte van de X-as en de lengte van de Y-as kan worden opgegeven m.b.v. de graph_ratio opdracht. Deze opdracht wordt vooral gebruikt om vierkante plaatjes te maken:

graph_ratio [ratio]

Hierin is ratio = (lengte van een X eenheid)/(lengte van een Y eenheid). De standaard instelling voor ratio is 1, d.w.z. de X-as en de Y-as zijn even lang als het verschil tussen de minimum en maximum waarden van de X en Y as identiek zijn. Let op: Gebruik van de standaardwaarde 1 heeft niet hetzelfde effect als het weglaten van de hele opdracht!!

Voorbeeld 11:

5.4.2	Assenkader en kader rond legenda's

xy tekent standaard een assenkader en een kader rond de legenda. Met de opdrachten open_graph en no_legendbox kan dit worden onderdrukt:

open_graph

no_legendbox

5.4.3	Fonts

xy gebruikt standaard het lettertype Helvetica. Met de volgende drie opdrachten kan het standaard lettertype gewijzigd worden:

bold

no_bold

helvetica

times_roman

courier

Indien gewenst, kun je deze opdrachten opnemen in de file xy_def.set. Als je bold in xy_def.set gezet hebt, kun je toch gewone letters gebruiken door de opdracht no_bold in de locale configuratie file te gebruiken, als je een lettertype gedefinieerd hebt, kun je met de opdracht helvetica toch weer het standaard lettertype gebruiken.

5.4.4	Tekenen van een grid

Met xy kan een grid in de grafiek geplot worden. De dichtheid van het grid wordt bepaald door het aantal major divisions van de X-as en de linker Y-as (zie hoofdstuk 57).

draw_grid [1|2|3] [lijntype] [0|1]

Bij de eerste vlag betekent 1 teken alleen een horizontaal grid, 2 teken alleen een verticaal grid en 3 betekent zowel horizontaal als verticaal. Het argument achter het woord draw_grid mag worden weggelaten. Dit is gelijk aan draw_grid 3 (zowel horizontaal als verticaal). De laatste vlag geeft aan of het grid voor (0, tevens default) dan wel na (1) de data geplot wordt. Dit laatste is handig in het geval van bijvoorbeeld een area-graph.

Bij het tekenen van een kaartje heeft draw_grid een iets andere betekenis. In de plaats van de argumenten 1, 2 of 3 moet dan de grid afstand worden opgegeven in de X- en Y richting. Een grid van 5000x5000 m wordt dan opgegeven met draw_grid 5000,5000.

5.4.5	Tekenen van een nul-lijn

De opdracht zero_line zorgt ervoor dat er een nullijn getekend wordt ter hoogte van Y en/of X = 0.

zero_line [1|2|3]

Het argument achter het woord zero_line heeft de volgende betekenis:

1.	Teken een nul-lijn behorende bij de linker Y-as,

2.	Teken een nul-lijn behorende bij de X-as,

3.	Teken voor beide assen een nul-lijn.

Het argument achter het woord zero_line mag worden weggelaten en krijgt dan de standaard waarde 1.

Opdracht zero_line komt overeen met opdrachtregel argument -z.

5.4.6	Plaatsing van tic marks

Tic marks worden standaard aan de buitenzijde van de assen getekend. De opdracht tics_inside zorgt ervoor dat de tic marks aan de binnenzijde van de assen getekend wordt. Deze opdracht kan in de file xy_def.set opgenomen worden.

tics_inside [0|1|2|3]

Hierin betekent 0 dat de tics aan de buitenzijde worden geplot (dit is tevens de standaard instelling), 1 betekent dat de X-tics aan de binnenzijde geplot worden, 2 betekent dat de Y-tics aan de binnenzijde geplot worden en 3 betekent dat zowel de X-tics als de Y-tics aan de binnenzijde geplot worden. Als je uitsluitend tics_inside typt, geldt dit voor beide assen.

5.4.7	Onderdrukken van het tekenen van labels en tics

In sommige gevallen is het handig om het tekenen van labels en tics langs de assen te onderdrukken. De optie wordt vooral gebruikt als je twee plaatjes over elkaar heen legt. Om het tekenen van asinformatie te onderdrukken is er de no_axis opdracht.

no_axis

5.4.8	Grootte van symbolen, teksten en lijndiktes

De grootte van symbolen (markers), teksten en lijndiktes kunnen aangepast worden met de volgende drie opdrachten:

char_width factor

line_width factor

axisline_width factor [1|2|3]

marker_size factor[ factor factor factor etc]

Hierin is de factor steeds een relatieve factor; de standaard instelling is 1.

De markergrootte kan per markertype worden opgegeven. Als je één marker_size opgeeft geldt de opdracht voor alle markers, anders geldt de grootte per markertype. Dus:

marker_size 1.0 0.75 0.5 0.25

in combinatie met

draw_markers 7 7 7 7

Bij axisline_width worden standaard zowel de assen als de omlijning van de legenda in de opgegeven dikte getekend. Met een 1 echter alleen de assen, met een 2 alleen de legendaomlijning en met een 3 zowel de assen als de legendaomlijning (default).

5.4.9	Achtergrondskleur van plaatjes en legenda's

De standaard achtergrondskleur van plaatjes en legenda's is wit. Deze kleur kan gewijzigd worden met de opdrachten graph_background en legend_background:

graph_background kleur_nr

legend_background kleur_nr

Hierin slaat kleur_nr op een kleur die in de file xycolor.set (zie paragraaf 9.2) gedefinieerd is.

Voorbeeld 12:

Voorbeeld 13:

Voorbeeld 14:

_______

5.5	Inlezen en aanpassen van gegevens


inlezen en aanpassen van gegevens
5.5	Inlezen en aanpassen van gegevens

Eén van de grote voordelen van xy is de flexibele wijze waarop je gegevens kunt inlezen. Datareeksen kunnen vaak rechtstreeks uit een datafile gelezen worden. Voorbewerking van gegevens is daarom vrijwel nooit nodig.

Gegevens kunnen op twee verschillende manieren worden ingelezen. Volgens de eerste methode worden gegevens in een file met kolommen aangeleverd. De naam van deze file kan bij de aanroep via de opdracht regel worden opgegeven (zie hoofdstuk 4). Deze methode staat beschreven in paragraaf 5.5.1. De tweede methode, waarbij data rechtstreeks uit één of meerdere invoerfiles worden gehaald, is flexibeler, maar behoeft meer toelichting (paragraaf 5.5.4).

5.5.1	Inlezen van gegevens uit een file met kolommen

5.5.2	Error values en ontbrekende gegevens

5.5.3	Commentaarregels in datafiles

5.5.4	Selecteren van gegevens uit files van een andere opmaak

5.5.5	Selecteren van extra gegevens

5.5.6	Wiskundig bewerken van ingelezen gegevens

5.5.7	Lineaire regressie

5.5.1	Inlezen van gegevens uit een file met kolommen

Als je de gegevens in een file met kolommen aanlevert, dan gaat xy er standaard vanuit dat deze file de volgende opmaak heeft:

X[1]	Y[1,1]	..	Y[1,n]

..	..	..	..

X[m]	Y[m,1]	..	Y[m,n]

Anders gezegd: De Y-waarden in de kolommen 2 t/m 10 worden geplot als functie van de X-waarden in kolom 1.

De kolom nummers waaruit xy leest kunnen worden gewijzigd. Deze opdracht is vooral handig om aan te geven dat bij elke Y-serie een eigen X-serie hoort. Gebruik hiervoor de volgende opdracht:

xy_columns kolomnr_X1,kolomnr_Y1 [kolnr_X2,kolnr_Y2] [kolnr_X9,kolnr_Y9]

* Plot kolom 2 als functie van kolom 1 en kolom 4 als functie van kolom 3

* Let op de verplichte komma tussen x-kolom en y-kolom (x,y)

xy_columns 1,2 3,4

Als de datareeksen niet even lang zijn, kun je de rest van een datareeks opvullen met min-tekens. Deze worden door XY overgeslagen.

Voorbeeld 15:

In een file met kolommen mogen commentaarregels worden opgenomen. Deze regels beginnen met een sterretje, tenzij anders opgegeven met opdrachtregel argument -s (zie hoofdstuk 7).

5.5.2	Error values en ontbrekende gegevens

Alle strings die niet tot een getal kunnen worden geconverteerd, worden door xy als foutieve waarden of als ontbrekende gegevens (`missing data') beschouwd. Het hangt van de instelling van de opdracht interrupt_lines (zie paragraaf 5.8.1) af, of lijnen in line-graphs worden onderbroken, dan wel doorgetrokken. De gebruiker kan met de opdracht error_value aangeven dat een bepaald getal (in plaats van een niet tot getal te converteren string) als identificatie voor ontbrekende of foutieve gegevens wordt beschouwd.

error_value waarde

Voorbeeld 16:

5.5.3	Commentaarregels in datafiles

Regels die met een sterretje beginnen zijn commentaarregels. Met de opdracht skip kun je een ander teken of een andere string kiezen.

skip string_behorend_bij_start_van_commentaarregel

De optie skip komt overeen met opdrachtregel argument -s

Voorbeeld 17:

5.5.4	Selecteren van gegevens uit files van een andere opmaak

Met de data opdracht kunnen gegevens geselecteerd worden uit één of meerdere files van zeer verschillende opmaak. Dataseries hoeven niet even lang te zijn. De data opdracht zorgt ervoor dat de gegevens worden geschreven naar een tussenbestand `data.xy'. Dit tussenbestand heeft de vorm van een file met kolommen (zie paragraaf 5.5.1). (Wanneer data worden geselecteerd vanuit een jobfile, dan krijgt het tussenbestand de naam 'data-?.xy', waarbij '?' wordt vervangen door het volgnummer van het te tekenen plaatje. Bijv. data-1.xy en data-2.xy.)

De data opdracht heeft één van de twee volgende algemene vormen:

data invoerfile kolomnr_X|! kolomnr_Y [kolomnr_zoekstring zoekstring]

data invoerfile expressie_X expressie_Y [kolomnr_zoekstring zoekstring]

De data opdracht kan ook als opdrachtregel argument worden opgegeven met -data "invoerfile en overige argumenten"

De opdracht achter data moet tussen dubbele aanhalingstekens staan (PC) of enkele aanhalingstekens (UNIX).

Voorbeeld:	xy -c plaatje.set -data "data.dat 1 3 2 cliq_pest"

Er kunnen maximaal 4 zoekstrings worden opgegeven. De namen van de datafiles kunnen voorafgegaan worden door een (volledig) pad.

Voorbeeld 18:

Zoekstrings in de data opdracht

In de zoekstrings hebben een aantal tekens een speciale betekenis. Het betreft de tekens ?, !, +, -, = en %. Deze tekens hebben de volgende betekenis:

?	zoek op een deelstring

!	selecteer als de string niet voorkomt (ongelijk aan)

+	selecteer als getal in betreffende kolom groter is dan opgegeven waarde

-	selecteer als getal in betreffende kolom kleiner is dan opgegeven waarde

=	selecteer als getal in betreffende kolom gelijk is aan opgegeven waarde

%	selecteer als getal in betreffende kolom geen restwaarde heeft wanneer het naar integer geconverteerde wordt gedeeld door de opgegeven waarde.

Een \ heft de betekenis van ?, !, +, -, = en % op.

Voorbeeld 19:

Het gebruik van wiskundige expressies in de data opdracht

In plaats van kolom nummers kan een wiskundige expressie ingevuld worden. De waarden van kolommen in een invoerfile kunnen dan wiskundig worden bewerkt. In een wiskundige expressie kun je naar een kolom verwijzen door het kolomnummer te laten voorafgaan door een $ teken, bijvoorbeeld sqrt($1). De volgende operators worden herkend: +, -, *, / en ^. xy herkent de functies sin, cos, tan, asin, acos, atan, log, log10, sqrt, exp, abs, rtd (radialen naar graden), dtr (graden naar radialen), min en max. Gebruik van het getal pi is toegestaan. Alle functies behalve min en max hebben één argument. De functies min en max kunnen meerdere, door komma's gescheiden, argumenten hebben. Voor alle functies geldt dat ze kunnen worden genest. Tevens is het mogelijk om een 'if else' constructie in te bouwen. Die constructie heeft het volgende formaat:

if(expressie_1 <|<=|==|>=|> expressie_2){expressie_3}else{expressie_4}

Overal waar expressie staat kan een expressie zoals hierboven beschreven worden geformuleerd, maar ook alleen een waarde. Als de vergelijking binnen de haken van het if-blok waar is, dan wordt expressie_3 uitgevoerd, anders expressie_4. Ook voor 'if else' constructies geldt dat ze kunnen worden genest.

Voorbeeld: if(sqrt($1)<sqrt($2-5)){min($1,$2,$3)}else{0}

Voorbeeld 20:

Het gebruik van het uitroepteken in de data opdracht

De data opdracht gaat er standaard van uit dat dataseries niet even lang zijn en verschillende X waarden hebben. Het tussenbestand data.xy krijgt dan de vorm:

X[1,1]	Y[1,1]	X[2,1]	Y[2,1]

  .	   .	   .	   .

X[1,n]	Y[1,n]	X[2,m]	Y[2,m]

Als de X waarden in alle dataseries gelijk zijn, kun je het selecteren versnellen en de file data.xy verkleinen door in de tweede t/m de zesde data opdracht in plaats van een X kolom een uitroepteken in te vullen. Het formaat van het bestand data.xy wordt dan:

x1,1	y1,1	y2,1

  .	  	 .	 	 .

x1,n	y1,n	y2,n

Voorbeeld 21:

Het meenemen van detectiewaardes

Standaard wordt in xy alles waar geen waarde van kan worden gemaakt niet meegenomen (er wordt dus ook geen 0 van gemaakt).

detection_value [kleiner_dan_factor (default=0)] [groter_dan_factor (default=1)]

De opdracht detection_value zorgt ervoor dat getallen in een dataserie voorafgegaan door '<' of door '>' als een waarde worden opgevat. Normaal zou xy dit getal skippen, daar dit immers géén getal is. Deze optie is vooral van belang voor het interpreteren van meetreeksen, waar deze code vaak gebruikt wordt:

1	0.301

2	<0.3

3	0.307

3	>20.0

Geef je alleen detection_value op dan wordt ervoor gezorgd dat het getal achter 2 als 0 geïnterpreteerd wordt en achter 4 als 20. De argumenten (kleiner_dan_factor en groter_dan_factor) geven de vermenigvuldigingsfactor aan waarmee het getal achter '<' of '>' moet worden vermenigvuldigd. Dus detection_value 0.5 1.25 heeft als resultaat dat het getal achter 2 als 0.15, en het getal achter 4 als 25 wordt geïnterpreteerd.

Meerdere keren een plaatje tekenen met dezelfde gegevens

Tijdens het uitvoeren van de data opdracht (data selectie) maakt xy een file data.xy (of data-1.xy, data-2.xy, etc.). In deze file staan de geselecteerde gegevens. Als je de gegevens uit een lange file moet halen, dan kan het handig zijn deze file te gebruiken; met andere woorden: het kan handig zijn de dataselectie over te slaan. xy slaat de dataselectie automatisch over als je optie -d opgeeft tijdens het starten van het programma.

xy -c configuratiefile -d

Y-waarden uit een andere file halen dan de X-waarden.

xy heeft de mogelijkheid gegevens uit meerdere files te lezen. Je kunt echter niet zonder meer gegevens uit twee files tegen elkaar uitzetten (d.w.z. de X-waarde uit de ene file halen en de Y-waarde uit de andere file). Het kan soms handig zijn dit toch te doen, bijvoorbeeld om twee modeluitkomsten tegen elkaar uit te zetten. Ga dan als volgt te werk:

1.	Let erop dat de dataseries in beide files even lang zijn.

2.	Selecteer m.b.v. de opdracht data dataserie 1 uit de eerste file.

3.	Selecteer m.b.v. de opdracht data dataserie 2 uit de tweede file (gebruik desgewenst een ! voor de X-serie; de X-waarde heb je immers niet nodig).

4.	Start xy op. xy maakt de file data.xy aan.

5.	Zet een sterretje voor beide data opdrachten (dit worden nu commentaarregels) en neem de opdracht xy_columns 2,3 in de configuratie file op. Als je xy nu nog een keer aanroept met xy -c configuratiefile data.xy, wordt de Y-waarde uit dataserie 2 uitgezet tegen de Y-waarde uit dataserie 1.

6.	Desgewenst kun je nu regressie uitvoeren (paragraaf 5.5.7) m.b.v. de opdracht lin_regr1 1.

5.5.5	Selecteren van extra gegevens

Als je gegevens uit grote files wilt selecteren en meerdere plaatjes wilt maken (zie hoofdstuk 6.4), kan het handig zijn extra data naar de file `data.xy' te schrijven. Hiertoe dient de extra_data opdracht. Deze opdracht heeft precies dezelfde opbouw als de data opdracht. In principe kun je een onbeperkt aantal extra_data opdrachten opnemen in de configuratie file.

extra_data filenaam kolnr_X|! kolnr_Y [kolnr_selectie selectiecriterium]

Voorbeeld 22:

5.5.6	Wiskundig bewerken van ingelezen gegevens

Ingelezen gegevens kunnen op eenvoudige wijze met een bepaalde factor worden vermenigvuldigd (scaling_factor), cumulatief worden uitgezet (cumulative) of wiskundig bewerkt.

Schalen van de gegevens

Je kunt Y-waarde van ingelezen gegevens met een bepaalde factor vermenigvuldigen met de scaling_factor opdracht. Deze opdracht heeft de volgende vorm:

scaling_factor factor_1 [factor_2] .. [factor_9]

Voorbeeld 23:

Gegevens cumulatief uitzetten

Gegevens kunnen cumulatief worden uitgezet. Gebruik hiervoor de opdracht cumulative:

cumulative vlag_1 [vlag_2] .. [vlag_9]

Hierin geeft vlag_i weer of de gegevens voor de betreffende dataserie cumulatief (vlag=1) of gewoon (vlag=0) moeten worden uitgezet.

De opdracht cumulative 1 1 1 1 1 1 1 1 1 komt overeen met opdracht regel argument -t.

Voorbeeld 24:

Als je een dergelijk plaatje maakt, bedenk dan het volgende:

1.	Let er op dat de X-kolom equidistant is,

2.	Als de X kolom equidistant is, maar niet afstand 1 heeft, kan het zinnig zijn een scaling_factor toe te kennen. Als de afstand tussen de X waarden bijvoorbeeld 5 is, zet dan scaling_factor op 5.

Voorbeeld 25:

5.5.7	Lineaire regressie

xy kan maximaal twee lineaire regressielijnen uitrekenen en tekenen. De gegevens die bij de regressie worden betrokken mogen in meerdere dataseries staan. Door voor de betreffende dataserie de vlag op 1 te zetten geef je aan of de dataserie bij de regressie moet worden meegenomen. De regressie wordt als volgt opgegeven:

lin_regr1 vlag_1 vlag_2 .. vlag_32

lin_regr2 vlag_1 vlag_2 .. vlag_32

De vlaggen moeten voor alle dataseries gezet worden.

Voorbeeld 26:

Bij een logaritmische as (zie paragraaf 5.7.4), wordt de regressie uitgevoerd op de getransformeerde data. Als je in het plaatje twee Y assen gedefinieerd hebt (zie paragraaf 5.7.5), moeten de dataseries die je bij de regressie betrekt tegen dezelfde Y-as uitgezet zijn.

De resultaten van de lineaire regressie worden uitgevoerd naar de file `lin_regr.xy'. Als deze file al bestaat, wordt de bestaande file overschreven.

Voorbeeld 27:

_______

5.6	Titels en legenda's


titels en legenda's
5.6	Titels en legenda's

Je kunt op verschillende manieren toelichtende informatie in het plaatje opnemen:

1.	d.m.v. titels,

2.	d.m.v. teksten langs assen,

3.	d.m.v. legenda's,

4.	d.m.v. teksten die je op een willekeurige plaats kunt plotten.

5.6.1	Titels

5.6.2	Teksten langs assen

5.6.3	Extra teksten in een plaatje

5.6.4	Datum en tijd

5.6.5	Legenda's

5.6.1	Titels

In een standaard grafiek is ruimte voor twee titels. Deze titels worden direkt links boven het plaatje getekend. Als ook een legenda getekend wordt, dan wordt de legenda op deze plaats gezet en komen de titels daarboven. Titels moeten met de title opdracht worden aangeleverd:

title_1 tekst

title_2 tekst

title_2 wordt iets kleiner weergegeven dan title_1.

Als je een kader met vignet rond de grafiek laat tekenen (opdrachtregel argument -v) (hoofdstuk 7) of configurafile opdracht draw_box (hoofdstuk 8.1), dan kunnen in dit kader nog twee titels worden opgenomen:

title_3 tekst

title_4 tekst

Naast titels kun je met de title opdracht in een jobfile (hoofdstuk 6) op elke willekeurige plaats in het plaatje extra informatie plaatsen.

Voorbeeld 28:

5.6.2	Teksten langs assen

Tekst wordt langs de assen gecentreerd. De teksten langs de assen worden even groot als title_1.

x_text tekst langs de X-as

y1_text tekst langs de linker Y-as

y2_text tekst langs de rechter Y-as (als deze gekozen is)

5.6.3	Extra teksten in een plaatje

Met de text opdracht kun je extra informatie aan het plaatje toevoegen. De text opdracht heeft de volgende vorm:

text 'te printen extra informatie' x,y [grootte] [vlag]

Denk aan de verplichte quotes rond de te plotten teksten. De standaard grootte is 1. De coördinaten worden op dezelfde wijze opgegeven als bij legenda's (zie paragraaf 5.6.5). Als vlag 1 is dan wordt de tekst 90° gedraaid.

5.6.4	Datum en tijd

De systeemtijd en datum kun je plotten met de draw_time en draw_date opdrachten:

draw_time X_coördinaat,Y_coördinaat [grootte]

draw_date X_coördinaat,Y_coördinaat [grootte] [taalvlag]

Standaard wordt de datum in het engels geplot. Met taalvlag op 1 wordt de datum in het nederlands geplot.

Met de time en date opdrachten in jobfiles kunnen óók de datum en tijd worden geplot.

5.6.5	Legenda's

xy tekent automatisch een legenda als je meer dan één dataserie per plaatje tekent. Op deze regel zijn twee uitzonderingen:

1.	De gebruiker heeft het tekenen van de legenda onderdrukt met optie no_legend of

2.	De gebruiker heeft xy vanuit een jobfile (hoofdstuk 6) aangeroepen en daarin de opdracht central_legend opgenomen. Deze opdracht zorgt ervoor dat per pagina slechts één legenda wordt getekend.

De legenda wordt standaard links-boven het plaatje getekend en van een kader voorzien. title_1 en title_2 komen daarboven. De plaats van de legenda kan gewijzigd worden. Als je géén legenda-teksten hebt opgegeven, vult xy het nummer van de dataserie in (1 t/m 32).

Legendateksten

Legenda-teksten moeten worden opgegeven met de legend opdracht:

legend 'tekst bij dataserie 1' ['tekst bij dataserie 2'] .. ['tekst bij dataserie 32']

Als de legenda tekst uit meerdere woorden bestaat, moeten de teksten met quotes worden omgeven. In het geval van ènkele woorden, mogen de quotes worden weggelaten.

Géén legenda tekenen

xy tekent standaard een legenda zodra er meer dan één dataserie in de grafiek voorkomt. Het tekenen van de legenda kan ten alle tijde worden onderdrukt. Hiertoe dient de no_legend opdracht:

no_legend

Onderdrukken van het legendakader

Het kader rond de legenda kan worden onderdrukt met de opdracht no_legendbox:

no_legendbox

Plaats van de legenda

De legenda wordt standaard links-boven het plaatje getekend. Met de opdracht legend_pos kun je de plaats van de legenda wijzigen. De plaats van de legenda moeten worden opgegeven in xy coördinaten (zie hoofdstuk 6.3); d.w.z. links-onder is 0,0 en rechts-boven is 100,100. Bedenk bij het bepalen van de positie van de legenda dat een aantal factoren invloed kunnen hebben op de grootte van de grafiek. Voor het bepalen van de coordinaten kun je optie -g opgeven (hulpgrid tekenen):

legend_pos x,y [achtergrond_vlag]

Voor de Y-coördinaat mag de standaardwaarde worden gebruikt. Hiertoe mag de Y-coördinaat vervangen worden door een uitroepteken. Let op de verplichte komma tussen de X en de Y coordinaat. Met achtergrond_vlag kan worden geregeld dat de achtergrond van de legenda wordt weggedrukt (1), of juist transparant wordt gemaakt (0). De default voor legenda's van grafieken is 1. De default voor matrix-legenda's is 0.

Voor de X coördinaat zijn de volgende speciale coördinaten beschikbaar:

L	links in of boven het plaatje,

R	rechts in of boven het plaatje,

Voor de Y coördinaat zijn de volgende speciale coördinaten beschikbaar:

T	boven in het plaatje

B	onder in het plaatje.

L, R, T en B mogen gecombineerd worden met een getal. L5 betekent plaats de legenda 5 eenheden van links.

Na de X coördinaat kan een r worden gebruikt om rechts uit te lijnen en een m om te centreren rond de opgegeven X-waarde.

Als je de legenda in het plaatje plaatst, dan wordt het stukje van de grafiek dat onder de legenda ligt (ook een eventueel grid) uitgewist, behalve wanneer geen kader rond de legenda wordt getekend.

Aantal kolommen in een legenda

Het aantal kolommen in een legenda kan worden veranderd met de legend_columns opdracht:

legend_columns nr_columns

Standaard wordt de legenda in 3 kolommen verdeeld bij meer dan zes legenda teksten, in 2 kolommen bij 4-6 teksten en in 1 kolom bij minder dan 4 teksten.

Voorbeeld van het gebruik van extra teksten (text) en legenda's (legend)

In dit voorbeeld wordt het gebruik van de opties text, legend, legend_pos en legend_columns toegelicht. M.b.v. de text optie worden teksten op willekeurige plaatsen gezet. Met de legend_pos optie wordt de legenda onderin het plaatje gezet. De optie legend_columns zorgt ervoor dat de beide legenda eenheden naast elkaar komen te staan. Let ook op het gebruik van labels in de x_axis en y2_axis opdracht.

Voorbeeld 29:

_______

5.7	Instellingen van de assen


as-instellingen
5.7	Instellingen van de assen

Voor elke as kan het minimum, het maximum, het aantal major- en minor-divisions alsmede de opmaak van de labels worden opgegeven. Voor alle instellingen zijn standaardwaarden beschikbaar. De opdracht om de assen (X-as, linker Y-as of y1_axis, en rechter Y-as of y2_axis) in te stellen heeft de volgende algemene vorm:

x_axis	minimum [maximum] [major_divisions] [minor_divisions] [label_opmaak] [astype] [gedraaid]

y1_axis	minimum [maximum] [major_divisions] [minor_divisions] [label_opmaak] [astype]

y2_axis	minimum [maximum] [major_divisions] [minor_divisions] [label_opmaak] [astype]

Hierin geeft astype weer of het een gewone as (astype=0) dan wel een logaritmische as (astype=1) betreft en geeft gedraaid weer of de tekst langs de x-as 90° gedraaid moet worden weergegeven. De waarde van 'gedraaid' (0-100) geeft aan hoeveel ruimte onder de x-as beschikbaar is voor de gedraaide teksten.

5.7.1	Handmatig instellen van de as schaal

5.7.2	Handmatig instellen van de as indeling

5.7.3	Opmaak van de labels

5.7.4	Logaritmische assen

5.7.5	Grafiek met twee Y-assen

5.7.6	Y-as aan rechterzijde plotten

5.7.7	X-as aan bovenzijde plotten

5.7.8	Ordinatie diagrammen

5.7.1	Handmatig instellen van de as schaal

Standaard schaalt xy automatisch. Je kunt de minimum- en maximum-waarde ook handmatig instellen. Dan worden waarden die buiten het bereik van de assen vallen niet geplot. Daarnaast is het volgende toegestaan:

1.	Wel een minimum maar géén maximum waarde opgeven. xy kiest dan wel het handmatig ingestelde minimum, maar bepaalt het maximum automatisch.

2.	De mimimum en maximum waarde omdraaien. In het geval van een X-as, plot xy dan de hoogste waarde links; in het geval van een Y-as onderaan.

1.	Tenslotte kan het minimum voorwaardelijk vastgelegd worden. D.w.z. xy gebruikt het handmatig ingestelde minimum, behalve als in één van de dataseries een waarde voorkomt die lager is dan het ingestelde minimum. Om van deze mogelijkheid gebruik te kunnen maken moet direct na de minimum waarde een vraagteken geplaatst worden.

Voorbeeld 30:

5.7.2	Handmatig instellen van de as indeling

In het derde en vierde veld van de AXIS opdracht kun je opgeven hoe de as moet worden ingedeeld. In het derde veld staat het aantal `major divisions', in het vierde veld het aantal `minor divisions'. Het aantal tics (streepjes) is gelijk aan het aantal `divisions'+1! De tics behorende bij de `major divisions' worden van een label voorzien. Als je een grid laat tekenen (optie draw_grid; paragraaf 5.4.4); dan wordt de dichtheid van het grid bepaald door het aantal major divisions.

Als je de schaal van de as handmatig instelt, dan wordt het aantal major divisions standaard op 10 gezet en het aantal minor divisions op 1 (dus géén subtics). Bij autoscaling wordt de optimale indeling berekend.

Als je zelf labels opgeeft (zie paragraaf 5.7.3), dan wordt het aantal tics bepaald door het aantal labels dat je opgeeft en wordt het veld met major divisions genegeerd.

Voorbeeld 31:

5.7.3	Opmaak van de labels

xy kiest standaard zelf een zo optimaal mogelijke label opmaak. Je kunt de opmaak ook zelf instellen. Hierbij moet onderscheid gemaakt worden tussen numerieke labels en niet-numerieke labels (teksten).

Numerieke labels

De algemene vorm van de numerieke label opdracht is %a.p[feEgG].

1.	Om aan te geven dat je numerieke labels wilt definieren, moet je de opmaak beginnen met een procent teken,

2.	vervolgens komt het aantal plaatsen (a) dat voor de label gereserveerd moet worden,

3.	vervolgens komt de decimaal punt,

4.	dan volgt het aantal plaatsen achter de decimaal punt (p). Als je hier expliciet nul opgeeft, dan wordt ook de decimaal punt weggelaten.

5.	De opdracht moet met een letter worden afgesloten. Deze letter geeft aan hoe de labels geprint moeten worden. De volgende letters zijn toegestaan:

-	f: Gebruik decimale notatie (%5.3f geeft het getal 1 weer als 1.000)

-	e of E: Gebruik de wetenschappelijke notatie (%5.3e geeft 1 weer als 1.000e+000 en %1.0E geeft het getal 100 weer als 1E+002; let op het effect van een e of E). Het aantal plaatsen komt in wetenschappelijke notatie overeen met het aantal plaatsen exclusief de toevoeging E+002.

-	g of G: Gebruik de decimale notatie als het getal in het opgegeven aantal plaatsen past. Gebruik anders de wetenschappelijke notatie.

De default instelling is %G.

Voorbeeld 32:

Niet-numerieke labels

Niet-numerieke labels moeten expliciet worden opgegeven. Het aantal hoofdtics wordt berekend als het aantal opgegeven labels+1. Het derde veld in de AXIS opdracht wordt dus genegeerd. De labels moeten enkele woorden zijn die worden gescheiden door spaties. Het geheel komt tussen quotes. Ook als je niet-numerieke labels gebruikt, blijft xy de assen numeriek beschouwen.

Voorbeeld 33:

Als de label alleen uit een min-teken bestaat, dan wordt de label weggelaten, maar wordt wel een extra tic getekend.

In het geval van een X-as worden niet-numerieke labels gecentreerd tussen de hoofdtics. De opdracht justify_xlabels zorgt ervoor dat de X-as labels worden gecentreerd rond de tics. Als het een Y-as betreft, worden niet-numerieke labels bij de tics geplot.

justify_xlabels

De opdracht justify_xlabels komt overeen met opdrachtregel argument -X

Voorbeeld van het gebruik van as instellingen

In onderstaand voorbeeld wordt het gebruik van de axis opdrachten gedemonstreerd. De X-as loopt van 0 t/m 90. In plaats van dagnummers worden labels geplot. M.b.v. draw_grid worden de maanden visueel gescheiden. De linker Y-as loopt van -30 t/m 30. Door het gebruik van labels zorgt de gebruiker ervoor dat alleen bij positieve waarden een label komt te staan. De labels in de rechter Y-as zijn numeriek (3 plaatsen, géén getal achter de komma).

Voorbeeld 34:

5.7.4	Logaritmische assen

Het zesde veld in de AXIS opdracht geeft weer of je de assen normaal (0) of logaritmisch wilt tekenen. Je kunt zowel een dubbel-logaritmische grafiek (zowel X als Y as logaritmisch geplot) als een enkel logaritmische grafiek tekenen (alleen X of Y als logaritmisch). xy geeft een foutmelding als een logaritmische as geselecteerd wordt en het minimum of maximum  0 is.

5.7.5	Grafiek met twee Y-assen

Als je meerdere dataseries hebt, kunnen gegevens zowel tegen een rechter- als tegen een linker Y-as worden uitgezet. De opdracht yaxis_number geeft aan welke dataseries tegen de linker- en welke dataseries tegen de rechter Y-as moeten worden uitgezet.

yaxis_number asnr_serie1 [asnr_serie2] .. [asnr_serie9]

Als je meer dan één Y-as definieert, wordt in de legenda met (<-) of (->) aangegeven tegen welke Y-as de gegevens zijn uitgezet.

5.7.6	Y-as aan rechterzijde plotten

In het geval van één Y-as, kan opgegeven worden dat de Y-as rechts (y1_right) of aan weerszijden van de grafiek (y1_both) getekend moet worden.

y1_right

y1_both

Het rechts tekenen van een Y-as is handig als je twee grafieken direct naast elkaar op één pagina wilt zetten. In de linker grafiek wordt de as dan links geplaatst, in het rechter plaatje wordt de Y-as aan de rechterkant geplaatst.

5.7.7	X-as aan bovenzijde plotten

De X-as kan aan de bovenzijde van het plaatje getekend worden met de opdracht x_top:

x_top

Voorbeeld 35:

5.7.8	Ordinatie diagrammen

Normaal gesproken plot xy het assenkruis links onder. De opdracht ordination_axis zorgt ervoor dat het assenkruis door de oorsprong (0,0) gaat. Als je kiest voor een dergelijke as, worden alleen aan het uiteinde van de assen labels getekend. De overige asinstellingen (minimum, maximum, aantal tics en aantal subtics) kun je m.b.v. de opdrachten x_axis en y1_axis (hoofdstuk 5.7) instellen. Ordinatie diagrammen zijn meestal vierkant, gebruik hiervoor de opdracht graph_ratio (paragraaf 5.4.1). Teksten kunnen geplot worden m.b.v. de opdracht draw_labels (zie paragraaf 5.8.8).

ordination_axis

Voorbeeld 36:

_______

5.8	XY diagrammen


XY-diagrammen
5.8	XY diagrammen

Met xy kun je `scatter-graphs', `line-graphs', `bar-graphs', `area-graphs', contourdiagrammen en kaarten maken. Bovendien kun je bij lijnen of markers teksten (`labels') plaatsen (zie paragraaf 5.8.8) en functies plotten. Alle soorten diagrammen, behalve vectordiagrammen, contourdiagrammen en kaarten kunnen door elkaar gebruikt worden. Vectordiagrammen, contourdiagrammen en kaarten moeten apart gedefiniëerd worden en staan beschreven in hoofdstuk 5.11, 5.9 en 5.10.

De schermkleuren en PostScript grijstinten van de dataseries kunnen worden ingesteld in de file xycolor.set. Zie hoofdstuk 9 voor een uitgebreide diskussie over het instellen van kleuren.

5.8.1	Line- en scattergraphs

5.8.2	Bar graphs

5.8.3	Area graph

5.8.4	Stacked graphs

5.8.5	`Zwevende' stacked bar en area graphs

5.8.6	Aangeven van spreiding

5.8.7	Plotten van functies

5.8.8	Teksten bij lijnen of markers plotten

5.8.1	Line- en scattergraphs

M.b.v. de opdracht draw_markers en draw_lines geef je per dataserie op welk type markers en lijnen getekend moet worden:

draw_markers symbool1 [symbool2] .. [symbool32]

draw_lines lijntype1 [lijntype2] .. [lijntype32]

Bijgaande figuur laat zien welke markers en lijntypes beschikbaar zijn. Het getal 0 betekent dat voor de betreffende dataserie géén marker of lijn getekend wordt.

Voorbeeld 37:

Standaard instellingen

xy gebruikt de volgende standaard instellingen:

draw_lines 1 1 1 1 1 1 1 1 1

Getrokken lijnen voor scherm en kleuren PostScript.

draw_lines 1 2 3 4 5 6 7 8 9

Verschillende lijntypes bij zwart-wit PostScript.

draw_markers 0 0 0 0 0 0 0 0 0

Géén markers.

Hieruit volgt dat als je een scatter-diagram wilt tekenen, je de opdracht draw_lines 0 0 0 0 0 0 0 0 0 in de configuratie file moet opnemen, of de opdracht regel argument -m gebruiken.

Missing data

Alle strings die niet tot een getal kunnen worden geconverteerd worden als error-waarde beschouwd (zie paragraaf 5.5.2). In het geval van een line graph hangt van de instelling van de interrupt_lines opdracht af, of de lijnen worden doorgetrokken (0) of onderbroken (1).

interrupt_lines vlag_1 [vlag_2] [vlag_3] ... [vlag_32]

Opdracht interrupt_lines 1 1 1 1 1 1 1 1 1 komt overeen met opdracht regel argument -I.

Opdracht regel argumenten

Opdrachtregel argument -m betekent: teken een scatter-diagram. Dit komt overeen met draw_markers 1 2 3 4 5 6 7 8 9 en draw_lines 0 0 0 0 0 0 0 0 0.

Opdrachtregel argument -b betekent: teken zowel symbolen als lijnen. Dit komt overeen met draw_markers 1 2 3 4 5 6 7 8 9 en draw_lines 1 1 1 1 1 1 1 1 1 (scherm) of draw_lines 1 2 3 4 5 6 7 8 9 (zwart wit PostScript).

Kleuren aanpassen

xy kiest standaard de kleuren 1, 2, 3, etc. in de file xycolor.set (zie hoofdstuk 6.7). De volgorde van deze kleuren kun je wijzigen met de opdracht line_colors:

line_colors kleur_1 [kleur_2] [kleur_3] .. [kleur_32]

Hierin verwijzen de kleuren naar de kleurnummers in de file xycolor.set. De achtergrondskleur heeft kleurnummer -1, de tekstkleur heeft kleurnummer 0. M.b.v. de opdracht colorfile kun je daarnaast een andere kleurenfile definieren (zie hoofdstuk 9). De opdracht line_colors geldt ook voor markers.

5.8.2	Bar graphs

Bar graphs worden getekend met de opdracht draw_bars. Let er, bij het tekenen van een bar diagram op, dat draw_lines expliciet de waarde 0 0 0 0 0 0 0 0 0 heeft, tenzij je ook lijnen wilt trekken.

draw_bars barkleur_1 [barkleur_2] .. [barkleur_32]

De kleurnummers verwijzen naar de file xycolor.set (hoofdstuk 9). Bij het printen van het plaatje in zwart-wit, worden de kleurnummers genegeerd. xy kiest dan zelf een optimaal kleurverloop van donker naar licht (zgn. range kleuren; hoofdstuk 9). Voor het scherm en voor kleuren PostScript worden de kleurnummers wel gebruikt.

Standaard instelling

Standaard worden géén bars getekend:

draw_bars 0 0 0 0 0 0 0 0 0

Opdracht regel argumenten

Opdrachtregel argument -B betekent: teken een bar-diagram. Dit komt overeen met draw_bars 1 2 3 4 5 6 7 8 9, draw_lines 0 0 0 0 0 0 0 0 0 en x_margin 0.05 (zie verderop in dit hoofdstuk).

Bars op hun exacte positie plaatsen

Als meerdere dataseries m.b.v. bars worden weergegeven, worden de bars behorende bij de verschillende dataseries met een overlap van 33% rond de werkelijke X-waarde geplot. Meestal geeft dit het mooiste effect. In sommige gevallen kan het noodzakelijk zijn dat de bars altijd op hun exacte positie worden weergegeven (dus met een overlap van 100%). Dit is bijvoorbeeld belangrijk als twee dataseries geplot worden, waarvan in één dataserie negatieve getallen en in de andere dataserie positieve getallen staan. De bars moeten dan wel precies tegenover elkaar staan. Hiertoe dient de opdracht justify_bars:

justify_bars

De opdracht justify_bars komt overeen met opdrachtregel argument -x.

Lijnen rond bars weglaten

Als je heel veel staafjes tekent en gebruik maakt van een lichte tint, worden de staafjes als je ze print toch nog zwart. De oorzaak hiervan is dat de bars `dicht lopen'. Je kunt dit voorkomen door de lijn rond de bars weg te laten. Gebruik hiervoor de opdracht no_barlines:

no_barlines

Vrije ruimte langs de X-as instellen

De X-as begint altijd bij het opgegeven minimum en eindigt bij het opgegeven maximum. Als gevolg hiervan kunnen bars en markers die aan het begin en het einde van de as geplot worden door midden `gezaagd' worden. Door het opgeven van een marge kun je xy instrueren dat het as minimum en het as maximum een stukje vanaf het begin- en het einde van de as geplot moeten worden. Hiertoe dient de opdracht x_margin:

x_margin afstand

Hierin is `afstand' de afstand die links van het minimum en rechts van het maximum langs de X-as wordt vrijgelaten. Als dit getal niet te groot gekozen wordt, wordt deze afstand uitgedrukt als fractie van de totale lengte van de X-as. Een marge van 0.05 is in de meeste gevallen voldoende, tenzij een speciaal effect voor ogen staat.

De x_margin opdracht komt overeen met opdrachtregel argument -M afstand.

Breedte van de bars opgeven

De breedte van de bars wordt berekend uit: (X-maximum - X-minimum)/aantal_regels_in_invoerfile. In sommige gevallen moet de breedte van de bars aangepast worden:

-	Als het aantal regels in de invoerfile sterk afwijkt van het aantal regels in de dataserie,

-	Als je de staafjes breder of smaller wilt maken.

Gebruik hiervoor de opdracht nr_bars:

nr_bars aantal_bars

Opdracht nr_bars komt overeen met opdrachtregel argument -N aantal_bars

Hoe hoger het getal dat je opgeeft, hoe smaller de bars.

Voorbeeld 38:

Bars bij de X-as in plaats van bij de nullijn laten beginnen

Standaard plot xy de bars vanaf de nullijn (Y=0). De opdracht xaxis_bars zorgt ervoor dat bars, ook als er negatieve Y-waarden in de dataserie voorkomen, bij de X-as beginnen.

xaxis_bars

Horizontale bars

Met de volgende opdracht worden bars horizontaal i.p.v. verticaal getekend. Let hierbij wel op dat de y-waarden de positie van de bars langs de y-as bepalen en de x-waarden de grootte van de bars in horizontale richting.

horizontal_bars

5.8.3	Area graphs

De ruimte tussen twee lijnen kan gevuld worden (`area graph') met de draw_area opdracht:

draw_area all | ( onderstelijn_nr bovenstelijn_nr [vlakkleur] )

De vlakkleuren staan gedefinieerd in de file xycolor.set (hoofdstuk 9) en zijn dezelfde als beschreven in paragraaf 5.8.2. M.a.w. de vlakkleuren lopen standaard van zwart naar licht. Met de opdracht draw_area all wordt de ruimte tussen alle dataseries gevuld. Het hangt af van de instelling van draw_lines of er een lijn tussen de vlakken getekend wordt en zo ja welk lijntype.

De optie draw_area all komt overeen met opdrachtregel argument -A.

Voorbeeld 39:

5.8.4	Stacked graphs

M.b.v. de stack_data opdracht kan een stacked graph gemaakt worden. Hierbij worden de Y-waarden van de diverse dataseries bij elkaar opgeteld. Voorwaarde voor het maken van `stacked graphs' is, dat voor alle dataseries dezelfde X-waarde geldt. De stack_data opdracht is het meest interessant in combinatie met area- en bar_graphs.

stack_data

De stack_data opdracht komt overeen met opdracht regel argument -a. -aA betekent dus een `stacked area graph' en -aB betekent een stacked `bar-graph'.

5.8.5	`Zwevende' stacked bar en area graphs

De skip_first_stack opdracht zorgt ervoor dat bij een stacked bar graph of een stacked area graph de eerste dataserie niet wordt getekend. Het resultaat is zwevende bars of areas.

skip_first_stack

5.8.6	Aangeven van spreiding

Met xy kun je op twee manieren de spreiding in (bijvoorbeeld) een meetpunt aangeven:

1.	Door het plotten van een vlak tussen twee lijnen. Deze mogelijkheid staat beschreven in paragraaf 5.8.3 (opdracht draw_area). Definieer de lijnen dan zodanig dat ze een zeker betrouwbaarheidsinterval aangeven, bijvoorbeeld het 95% betrouwbaarheidsinterval.

2.	Door het plotten van vertikale lijnstukjes vanuit het datapunt naar boven en naar beneden, die het betrouwbaarheidsinterval aangeven (`error bars'). Deze mogelijkheid staat hier verder uitgewerkt.

Error bars

Om error bars te kunnen plotten heb je informatie nodig over de grootte van de spreiding. Concreet gezegd: per datapunt moet worden aangegeven hoe groot de minimum- en maximum waarden van de error bars zijn. Het tekenen van de error bars gaat via de opdracht draw_dev:

draw_dev filenaam X|Y Ymin|Xmin Ymax|Xmax [as nummer] [kleur nummer] [type] [legenda_vlag] [horizontaal_vlag]

Hierin is filenaam de naam van de file met de error waarden, X het nummer van de kolom met X-waarden voor de error bars, Ymin het nummer van de kolom met de minimum Y-waarden en Ymax het nummer van de kolom met de maximum Y-waarden. Wanneer horizontaal_vlag op 1 staat dan worden horizontale bars getekend. Dan is Y het nummer van de kolom met Y-waarden voor de error bars, Xmin het nummer van de kolom met de minimum X-waarden en Xmax het nummer van de kolom met de maximum X-waarden. Het as nummer is 1 voor links (standaard waarde) of 2 voor rechts. Het kleur nummer verwijst naar één van de kleuren in xycolor.set. De standaard kleur is zwart, om error bars in dezelfde kleur te krijgen als de dataserie waarbij deze hoort, moet je voor kleur nummer het nummer van de dataserie waarbij de errorbars horen invullen. Het type is 0 (een lijnstukje; tevens standaard), 1 (een gekleurd open vlakje), 2 (een gekleurd rechthoekje) of 3 (een omlijnd gekleurd vlakje). Bij type 0 wordt standaard de error bar niet in de legenda opgenomen. Bij de overige typen wel. Als de legenda_vlag op 1 staat, wordt de error bar in de legenda opgenomen.

Met nr_bars kan de breedte van de dwarsbalkjes of van de vlakjes worden gewijzigd. Wanneer alleen deviatie bars worden getekend en geen `gewone' data, moet handmatig worden geschaald. Een `!' als filenaam in de draw_dev opdracht betekent dat de dezelfde file als die van de `gewone' data gebruikt wordt.

Voorbeeld 40:

Voorbeeld 41:

5.8.7	Plotten van functies

Met behulp van de opdracht draw_expression kun je een wiskundige functie plotten. De opdracht heeft de volgende vorm:

draw_expression functie [minimum X] [maximum X] [aantal te plotten X waarden]

Functies worden op dezelfde wijze geschreven als expressies in een data opdracht (zie paragraaf 5.5.4). In plaats van een kolom nummer wordt het symbool x gebruikt, dus sqrt(x).

Voorbeeld 42:

5.8.8	Teksten bij lijnen of markers plotten

M.b.v. de opdracht draw_labels kun je teksten in de grafiek, en dus bij symbolen of lijnen plaatsen. De labels moeten in een aparte kolom in de datafile worden opgegeven. Labels die uit meerdere woorden bestaan moeten door quotes worden omgeven. De opdracht heeft de volgende vorm:

draw_labels filenaam kolnr_X kolnr_Y kolnr_labels [Y-as nr] [kleurnr] [grootte] [positie] [BuitenGrafiekVlag]

Hierin is filenaam de naam van de datafile, kolnr_X het nummer van de kolom met X waarden, kolnr_Y het nummer van de kolom met Y waarden en kolnr_labels het nummer van de kolom met labels. De labelgrootte is een relatieve waarde, standaard is de grootte van de labels 1. De positie wordt aangeduid met een l, r, m of t gevolgd door een verschuivingswaarde (0-100). Bij l (links uitgelijnd) en r (rechts uitgelijnd) is de verschuiving in horizontale richting, bij m (midden of gecentreerd) en t (turned: 90° gedraaid) is de verschuiving in verticale richting. Wanneer alleen labels worden geplot, en geen `gewone' data, dan moet handmatig worden geschaald. Een `!' als filenaam betekent dat de file voor `gewone' data wordt gebruikt. Normaal worden labels die buiten de grafiek vallen niet geplot, maar met BuitenGrafiekVlag op 1 worden labels die buiten de grafiek vallen toch getekend.

Voorbeeld 43:

_______

5.9	Contour diagrammen


contour diagrammen
5.9	Contour diagrammen

Contour diagrammen zijn plaatjes waarbij met kleuren of grijstinten het verloop van een variabele als functie van twee coördinaten (bijvoorbeeld de tijd en de diepte) wordt aangegeven. Contour diagrammen kunnen bijzonder illustratief zijn (zie voorbeeld). Contour diagrammen worden alleen getekend als in de configuratiefile de opdracht matrix_yaxis voorkomt.

Contour diagrammen kunnen met xy op eenvoudige wijze worden aangemaakt. Voor het maken van contour diagrammen gelden aparte opdrachten. De balangrijkste hiervan zijn:

1.	Definitie van de verticale as:matrix_yaxis

1.	Toekenning van Y-waarden aan kolomnummers in de datafile: matrix_yranges

3.	Klasse indeling van de uit te zetten Z-waarden en toekenning van kleuren en grijstinten aan deze klassen: matrix_class

4.	Titel van de legenda: matrix_title

5.9.1	Datafile voor het tekenen van contour diagrammen

5.9.2	Definitie van de assen

5.9.3	Toekenning van Y-waarden aan kolomnummers in de datafile

5.9.4	Toekenning van klasse indeling aan de Z-waarden

5.9.5	Kleuren aanpassen

5.9.6	Titel van de legenda

5.9.7	Opties die het tekenen en printen van contour diagrammen versnellen

5.9.8	Contour diagrammen en andere diagrammen combineren

5.9.9	Volledig voorbeeld van een configuratiefile voor een contourdiagram

5.9.1	Datafile voor het tekenen van contour diagrammen

De datafile die nodig is voor het aanmaken van een contour diagram moet de volgende algemene vorm hebben:

x	z1	z2	z[3]	...	z[n-1]	z[n]

In de X kolom staat de X waarde. Bij een tijd-diepte diagram is dat meestal de tijd. In de volgende kolommen staat per Y waarde de te plotten Z waarde. De Y-waarden worden aan de kolommen toegekend d.m.v. de matrix_yranges opdracht.

De data en extra_data opdrachten kunnen niet gebruikt worden in combinatie met het tekenen van een contour diagram. Dit betekent dat de datafile altijd via de opdracht argumentenlijst bij de aanroep van xy moet worden opgegeven (zie hoofdstuk 7).

5.9.2	Definitie van de assen

xy tekent een contour diagram als het de opdracht matrix_yaxis in de configuratiefile tegenkomt. Met dezelfde opdracht moet je de Y-as definieren. De definitie van de Y-as gaat op precies dezelfde wijze als het tekenen van een gewone Y-as.

matrix_yaxis minimum maximum aantal_tics aantal_subtics label_opmaak astype

Voor een beschrijving van de betekenis van de argumenten, wordt verwezen naar hoofdstuk 5.7. Er is slechts één verschil: Het is niet toegestaan middels uitroeptekens standaardwaarden voor het mininimum en maximum op te geven (`autoscaling').

TIP:	Omdat xy de legenda van een contour diagram links van het plaatje schrijft, kan het plaatje aan de linkerkant nogal vol worden, vooral als de labels relatief groot zijn. Gebruik daarom de opdracht y1_right (zie ook paragraaf 5.7.6) om de Y-as aan de rechterkant te plotten. Dit maakt het plaatje meestal overzichtelijker.

y1_right

Voorbeeld 44:

5.9.3	Toekenning van Y-waarden aan kolomnummers in de datafile

xy moet weten welke Y-waarden bij de kolommen in de datafile horen. Hiertoe dient de opdracht matrix_yranges. Deze kun je op twee manieren gebruiken. In eerste instantie ga je ervan uit dat per kolom in de datafile dezelfde afstand langs de Y-as toegekend moet worden (equidistante kolommen). In de tweede algemene vorm is de afstand per kolom verschillend. Je moet dan per kolom precies opgeven hoe groot de afstand langs de Y-as is.

matrix_yranges aantal_Y_kolommen

matrix_yranges Y1_start,Y1_einde [Y2_start,Y2_einde] .. [Yn_start,Yn_einde]

Hierin is n het aantal kolommen in de datafile minus 1 (= aantal kolommen met Z-waarden).

Voorbeeld 45:

5.9.4	Toekenning van klasse indeling aan de Z-waarden

Nadat de assen gedefinieerd zijn, moet de klasse indeling van de Z coördinaat gedefinieerd worden. Daarnaast kun je aan deze klassen grijstinten, kleuren een legendatekst toekennen en de vorm van de legenda aanpassen. De opdracht voor het indelen in klassen luidt:

matrix_class kleur_nr [=]klasse_start <|>|<=|>=|! klasse_einde|! [klasse_tekst]

Hierin is:

<, >, >= of <=	Het kleiner dan (<) teken geeft aan dat de klassen in oplopende volgorde, het > teken geeft aan dat de klassen in aflopende volgorde gedefinieerd worden. Verder zijn de tekens >= en <= beschikbaar, vooral van belang wanneer de Z-waarden integers zijn. Een ! kan worden gegeven wanneer de klassen gelijk zijn aan integer waarden (niet continue klasseïndeling). Dan hoeft alleen een klasse_start waarde te worden gegeven. Klasse_einde is dan ook een !.

kleur_nr	Het nummer van de kleur (1  kleur_nr  14|254).

klasse_start	De ondergrens van de klasse als de klassen in oplopende volgorde gedefinieerd zijn of de bovengrens als deze in aflopende volgorde gedefinieerd zijn. Als klasse_start voorafgegaan wordt door een `=' teken (zonder spatie), dan is de klasse inclusief de waarde die in klasse_start staat.

klasse_einde	De bovengrens van de klasse als de klassen in oplopende volgorde gedefinieerd zijn of de ondergrens als deze in aflopende volgorde gedefinieerd zijn.

klasse_tekst	(optioneel) de tekst die in de legenda geplot wordt. Als deze tekst weggelaten wordt, wordt de range in de legenda weergegeven. Deze optie is vooral handig bij het maken van kaarten (zie hoofdstuk 5.10).

5.9.5	Kleuren aanpassen

xy leest de kleuren van de file xycolor.set (zie ook hoofdstuk 9) en berekent een optimaal verloop. In de standaard meegeleverde kleurenfile lopen de kleuren van blauw naar rood. De PostScript kleuren lopen van lichtgrijs naar donkergrijs. De kleuren kun je gemakkelijk aanpassen (zie hoofdstuk 9).

Met de optie colors kun je de volgorde van de kleuren (reverse) en de eerste kleur (of laatste kleur als je ook reverse opgeeft) aanpassen:

colors [background] [no_reverse|reverse] [range|no_range]

In het geval van zwart-wit PostScript zorgt colors background ervoor dat de eerste kleur niet lichtgrijs wordt maar de wit (de achtergrondskleur). colors reverse zorgt ervoor dat de kleuren van donker naar licht in plaats van licht naar donker lopen. Voor een beschrijving van de optie range, zie hoofdstuk 9.

Standaard worden de verschillende kleuren in de legenda in één kolom aan elkaar gekoppeld. Met de opdracht open_matrixlegend worden de gekleurde rechthoeken los van elkaar getekend.

open_matrixlegend

5.9.6	Titel van de legenda

Links van het plaatje wordt een legenda geprint. Deze legenda kun je met de opdracht matrix_title van een titel voorzien:

matrix_title tekst

Voorbeeld 46:

5.9.7	Opties die het tekenen en printen van contour diagrammen versnellen

Contour diagrammen tekenen en printen kan een tijdrovende bezigheid zijn. xy moet immers veel informatie verwerken. Op de volgende drie manieren kan het tekenen op het scherm en het printen versneld worden:

1.	Door de klasse die het meest voorkomt als standaardkleur te definieren (optie matrix_def_class)

2.	Door de maximum resolutie van de printer in de X richting lager te zetten (matrix_res)

3.	Door langs de X as een vast interval te kiezen en deze op te geven (matrix_xwidth)

Definitie van klasse die het meest voorkomt

matrix_def_class klasse_nr

Maximum resolutie van de printer in de X richting veranderen

De maximum resolutie is gebaseerd op 300 dots/inch. Met de opdracht matrix_res kun je deze resolutie lager zetten, bijvoorbeeld op 60 dots/inch. Het plaatje blijkt hierdoor nauwelijks beinvloed te worden, de PostScript file wordt bijna 5 keer kleiner.

matrix_res fractie_van_maximale_resolutie

Als je deze fractie dus op 0.2 zet, dan is de maximum resolutie dus 60 dots/inch. N.B. Deze optie heeft geen invloed op de overige grafiekinstellingen!

Opgeven van interval langs de X-as

Standaard wordt door xy eerst de afstand tussen de punten langs de X-as uitgerekend. In het algemeen zal het interval langs de X-as echter een vaste waarde hebben (in het geval van een tijd-diepte diagram bijvoorbeeld 1 dag). Door dit interval vast op te geven kun je het tekenen versnellen:

matrix_xwidth interval

5.9.8	Contour diagrammen en andere diagrammen combineren

Contour diagrammen kunnen niet in één plaatje gecombineerd worden met de andere vier soorten diagrammen (scatter-graphs, line-graphs, area-graphs en bar-graphs). In sommige gevallen kan het handig zijn toch een combinatie te maken van contour diagrammen en één van de andere soorten diagrammen. In een tijd-diepte diagram van vochtgehalten kan het bijvoorbeeld heel illustratief zijn om neerslagstaafjes te plotten. Je kunt een dergelijk plaatje als volgt maken:

1.	Definieer het plaatje waarin de neerslaghoeveelheden geplot worden in een apart plaatje. Neem de opdracht matrix_axissize in de configuratie file van dit plaatje op om ervoor te zorgen dat dit plaatje exact even groot wordt als het contour diagram. Als je matrix_axissize in de configuratiefile opneemt, laat xy de assen van het plaatje weg.

2.	Definieer het contour diagram. Let erop dat de X-as van dit diagram overeenkomt met de X-as van het andere diagram.

3.	Zet de opdrachten om bovenstaande twee diagrammen te tekenen in een jobfile (zie hoofdstuk 6). Geef dezelfde coordinaten op voor beide plaatjes. Let erop dat je eerst het contour diagram en dan pas het andere diagram laat tekenen.

matrix_axissize

5.9.9	Volledig voorbeeld van een configuratiefile voor een contourdiagram

Voorbeeld 47:

_______

5.10	Kaarten


kaarten
5.10	Kaarten

xy biedt de mogelijkheid tot het tekenen van gridkaarten, polygoonkaarten of een combinatie van beide. Bij gridkaarten wordt voor ieder element in een matrix van getallen een waarde weergegeven m.b.v. een kleur of grijstint. Deze wijze van plotten lijkt sterk op de in hoofdstuk 5.9 beschreven methode. Bij polygoonkaarten worden lijnen getrokken tussen m.b.v. xy waarden opgegeven punten in een vlak. De ruimte binnen polygonen kunnen desgewenst worden gekleurd. De ascii datafiles voor xy kunnen uit het gis (arc-info) gehaald worden. In dit hoofdstuk wordt eerst ingegaan op de benodigde datafiles. Vervolgens worden de benodigde settings besproken.

5.10.1	Kaartbestanden

5.10.2	Tekenen van grid kaarten

5.10.3	Tekenen van polygonen kaarten

5.10.4	Grid kaarten en polygoon kaarten combineren

5.10.5	Overige kaart opdrachten

5.10.1	Kaartbestanden

Grid kaarten

Grid kaarten kunnen op verschillende manier worden aangeleverd. Ten eerste kunnen gridascii bestanden, aangemaakt door ArcInfo, worden gebruikt. Deze bestanden bestaan uit een aantal regels met kopgegevens gevolgd door een matrix:

NCOLS	n

NROWS	m

XLLCORNER	xlinks-coördinaat

YLLCORNER	ybeneden-coördinaat

CELLSIZE	celbreedte

NODATA_VALUE	-9999

a1,1	a1,2	a1,3	a1,4	a1,5	.	.	a1,n-1	a1,n

a2,1	a2,2	a2,3	a2,4	a2,5	.	.	a2,n-1	a2,n

.	.	.	.	.	.	.	.	.

.	.	.	.	.	.	.	.	.

am-1,1	am-1,2	am-1,3	am-1,4	am-1,5	.	.  	am-1,n-1	am-1,n

am,1	am,2	am,3	am,4	am,5	.	.	am,n-1	am,n

Deze kaarten zijn echter nogal inefficiënt, omdat elke gridcelwaarde in de matrix wordt weergegeven. Bovendien worden nodata_values weergegeven met de waarde -9999. Voor XY kunnen de grid kaarten worden gecomprimeerd met het programma transfrm. De nodata_values worden met - i.p.v. -9999 weergegeven. Verder worden naast elkaar liggende identieke waardes op één regel (row) weergegeven met aantal*waarde. Dus als a1,3 a1,4 a1,5 a1,6 en a1,7 dezelfde waarde hebben (bijv. 6.2), dan wordt dat weergegeven met 5*6.2.

Omdat de met transfrm gecomprimeerde kaarten veel efficiënter zijn is het zinvol de kaarten met het oude formaat (matrix zonder kopgegevens) met behulp van transfrm om te zetten. Door transfrm de configuratiefile op te geven waarin met het commando draw_map de hoekcoördinaten van de kaart zijn opgegeven kan transfrm de kaart comprimeren en van kopgegevens voorzien.

De waarden in het grid kaart bestand moeten in klassen worden ingedeeld met de opdracht matrix_class (zie paragraaf 5.9.4). Verder kun je, in plaats van waarden ook direct kleuren in een grid kaart bestand opnemen. Deze optie kan gebruikt worden om kleuren toe te kennen aan grid kaart elementen die niet in de klassifikatie vallen (bijvoorbeeld steden die je rood wilt plotten in een bodemkaart). Om rechtstreeks kleuren te definieren moet je voor het kleurnummer een C zetten (géén spatie tussen C en getal; bijvoorbeeld C5). De kleur verwijst naar één van de 14 (of 254) kleuren in xycolor.set.

Polygoonkaarten

De invoer voor polygoon kaarten ziet er als volgt uit:

label1|kleur_nr	[aantal punten in polygoon 1]

x1	y2

x2	y2

.	.

.	.

xm-1	ym-1

xm	ym

label2|kleur_nr	[aantal punten in polygoon 2]

etc.

In de eerste regel van een polygoon staat een identificatie (label) of een kleurnummer. De kleuren staan in de file xycolor.set (zie hoofdstuk 9) gedefinieerd. Achter het label of kleurnummer staat het aantal punten in de polygoon. Het opgeven van het aantal punten in de polygoon niet verplicht, xy leest dan tot de volgende label of tot het einde van de file. Als je labels gebruikt moet je de, bij de polygoon behorende kleuren in een aparte file opgeven, zie paragraaf 5.10.3 (opdracht draw_polygon), of de kleur is gelijk aan de tekstkleur. Om ervoor te zorgen dat niet ingekleurde polygonen gesloten worden, moeten de eerste en laatste XY coördinaten in een polygoon identiek zijn.

5.10.2	Tekenen van grid kaarten

Voor het tekenen van een grid kaart moet het volgende gedefiniëerd worden:

•	Coördinaten van de randen van de kaart en grootte

van de elementen in het grid	draw_map

•	Klasse indeling voor de te plotten informatie:	matrix_class

•	Legenda teksten (optioneel):	matrix_class

•	Legenda teksten voor buiten de klassen vallende

waarden, errorwaarden en rechtstreeks gedefiniëerde

kleuren (optioneel):	extra_class

•	Legenda titel (optioneel):	matrix_title

•	Positie van de legenda (optioneel):	legend_pos

•	Vorm van de legenda (optioneel):	open_matrixlegend

•	Resolutie van de kaart (optioneel):	map_res

•	Als de regels in een databestand langer is dan

5120 tekens, moet bovendien het maximum aantal

tekens worden opgegeven:	record_length

•	Kleurinstelling (optioneel)	colorfile en colors

•	Assen plotten (optioneel)	draw_axis

•	Schaalbalk plotten (optioneel)	scale_bar

•	Noordpijl plotten (optioneel)	north

Coördinaten van de randen van de kaart en grootte van de elementen in het grid

De coördinaten en de grootte van de cellen kunnen op twee verschillende manieren worden gedefiniëerd. Het meest gebruikelijk is via de kopgegevens van de kaart. Als er geen kopgegevens in de kaart staan kunnen de gegevens met de opdracht draw_map worden opgegeven:

draw_map [links,onder,rechts,boven] [filenaam] [cel breedte] [cel hoogte]

De draw_map opdracht is verplicht voor het tekenen van een gridkaart. Zonder kopgegevens is de default waarde voor cel breedte 1. Als alleen een cel breedte wordt opgegeven, wordt de hoogte verondersteld gelijk te zijn aan de breedte (vierkant grid element). Filenaam is de naam van het kaartbestand met informatie per grid element (zie paragraaf 5.10.1). Als hiervoor een `!' of niets wordt ingevuld, dan moet de filenaam tijdens het opstarten van xy worden opgegeven.

Voorbeeld 48:

Klasseindeling van de te plotten variabele, legenda teksten en legenda titel

De klasse indeling, legenda teksten en legenda titel worden opgegeven via de opdrachten matrix_class (paragraaf 5.9.4) en matrix_title (paragraaf 5.9.6). Informatie die buiten de range van de gedefinieerde klassen valt krijgt de achtergrondskleur. Met de opdracht extra_class kan aan deze kleur een legendatekst worden toegekend:

extra_class kleur_nr tekst

Hierin is kleur_nr één van de in de file xycolor.set (hoofdstuk 9) beschreven kleuren en tekst de bij deze kleur behorende tekst. De achtergrondskleur heeft als kleur_nr -1 of de met graph_background aangegeven kleur. De opdracht wordt ook gebruikt om rechtstreeks gedefiniëerde kleuren van een tekst te voorzien (zie paragraaf 5.10.1).

Voorbeeld 49:

Positie van de legenda

De legenda kan met de opdracht legend_pos (zie paragraaf 5.6.5) op elke willekeurige plaats in het kaartje gezet worden. Bij het plotten van meerdere kaartjes op één pagina is ook de opdracht central_legend (zie paragraaf 6.5) beschikbaar.

Resolutie van de kaart bij het printen

Als de gridbestanden groot zijn, kan het printen van een kaartje veel tijd in beslag nemen. xy maakt de PostScript file standaard zo aan, dat de maximale resolutie 300 dots per inch is (dit is gelijk aan de resolutie van de meeste PostScript printers). Tijdens het ontwikkelen van een kaartje kan een lagere resolutie gekozen worden. Hiertoe dient de opdracht map_res:

map_res factor

Hierin geeft factor de verhouding tussen de beoogde resolutie en de maximum resolutie weer. Standaard is factor gelijk aan 1. De map_res opdracht heeft uitsluitend invloed op het plotten van grid kaarten.

Voorbeeld 50:

Maximum lengte van regels in een gridkaart bestand

Bij extreem grote grid kaart bestanden kan het voorkomen dat de bufferlengte van 5120 tekens per regel overschreden wordt. Met de opdracht record_length kun je de bufferlengte verhogen:

record_length aantal_tekens_per_regel

Assen plotten

Met de opdracht draw_axis kun je assen langs het plaatje plotten. Deze assen kun je met de x_axis en y1_axis opdrachten (handmatig) instellen.

draw_axis

Kleurinstellingen

xy gebruikt de in de file xycolor.set (zie hoofdstuk 9) gedefinieerde kleuren. Je kunt tot maximaal 254 kleuren in deze file definieren. Als je de plaatjes op een zwart-wit PostScript printer print, berekent xy zelf een optimaal verloop van donker naar licht (range kleuren). Met de opdracht colorfile kun je een kleurenpallet file aanroepen die je zelf hebt gedefinieerd. Met de colors opdracht kun je opgeven dat je ook voor het scherm van range kleuren gebruik wilt maken (bijvoorbeeld een mooi verloop van rood naar blauw). Zie hoofdstuk 9 voor een diskussie over kleurinstellingen en de opdrachten colorfile en colors.

Voorbeeld 51:

Voorbeeld van een gridkaart

Voorbeeld 52:

5.10.3	Tekenen van polygonen kaarten

Polygonen kaarten kunnen op twee manier worden getekend. 1. De as-instelling vindt plaats m.b.v. de opdracht draw_map. 2. De as-instelling vindt plaats m.b.v. de opdrachten x_axis en y1_axis. De polygonen kaart wordt dan meer als een grafiek opgevat. Combinatie met bijv. markers (een grafiek-optie) hoeft dan niet te verlopen via een jobfile (tekenen van een grafiek over een kaart). Voor het tekenen van een polygonen kaart moet je dus het volgende opgeven:

-	Coördinaten van de randen van de kaart:	draw_map of x_axis en y1_axis

-	Opgeven van files met polygoon coördinaten,

type polygoon en polygoonkleur:	draw_polygon

-	Dikte, type en kleur van de polygoon lijnen (optioneel):	polygon_line

-	Legenda teksten toekennen aan de polygonen (optioneel):	extra_class

Coördinaten van de randen van de kaart

Met de opdracht draw_map (zie paragraaf 5.10.2) of met x_axis en y1_axis (zie hoofdstuk 5.7) kun je de coördinaten van de randen van de kaart opgeven. Bij gebruik van draw_map voor het tekenen van polygonen zijn alleen de eerste 4 argumenten (coördinaten) van belang.

Polygoon coördinaten, type polygoon en polygoonkleur

Polygoon coördinaten moet je opgeven in polygoon kaartbestanden (zie paragraaf 5.10.1). Via de opdracht draw_polygon open je een dergelijk bestand:

draw_polygon polygoon_file [polygoon_type] [polygoon_kleuren_file]

 [logx_vlag] [logy_vlag] [labels_als_nummers_vlag]

Hierin is polygoon_file het bestand met polygoon coördinaten. Polygoon_type heeft de waarde 1, 2 of 3. Bij type 1 worden vlakvullingen getekend, bij type 2 worden de polygonen zelf getekend en bij type 3 worden gevulde polygonen getekend. Type 2 (teken alleen de polygonen) is default.

De polygoon kleurenfile beschrijft de kleuren van de polygonen. Deze file moet je opgeven als je in het polygoon kaartbestand met labels (dus niet rechtstreeks met kleurnummers) hebt gewerkt. De polygoon kleurenfile heeft de volgende opmaak:

label_1	[C]getal

label_2	[C]getal

.

label_n	[C]getal

Hierin verwijst label naar één van de labels in het polygoon kaartbestand. Xy bepaalt de kleur op basis van de m.b.v. matrix_class gedefinieerde klassen, tenzij het getal direct (zonder spatie) door de letter C wordt voorafgegaan. In dat geval wordt het getal als een kleurnummer opgevat.

Voorbeeld 53:

Een draw_polygon opdracht kan dus ook in grafieken worden gebruikt. De argumenten logx_vlag en logy_vlag geven aan of in de x- of y-richting het polygoon logaritmisch moet worden weergegeven.

Het argument labels_als_nummers_vlag wordt gebruikt om aan te geven dat - bij de gebruik van een polygoon kleuren file - de labels van het polygoon nummers zijn. Dit kan nodig zijn bij grote aantallen labels (meer dan ± 5000 labels).

Je kunt een onbeperkt aantal draw_polygon opdrachten in de datafile opnemen.

Voorbeeld 54:

Soort polygoonlijnen en dikte en kleur van de lijnen

Je kunt de standaarddikte van de polygoonlijnen, het lijntype en de lijnkleur wijzigen met polygon_line:

polygon_line [lijntype] [lijndikte[,dikte,dikte,etc]] [lijnkleur]

Lijntype is één van de lijntypes die bij draw_lines beschreven staat. Het standaard lijntype is 1 (getrokken lijn). De lijndikte is een relatieve factor. De standaard instelling is 1. Als de hierboven beschreven polygoon kleurenfile wordt gebruikt in combinatie met een klasseindeling, kan voor al die klassen een aparte lijndikte worden opgegeven. De lijnkleur krijgt een nummer uit de kleuren setfile (zie hoofdstuk 9).

Legenda teksten toekennen aan polygonen

M.b.v. de extra_class opdracht kun je legenda teksten toekennen aan kleuren die niet m.b.v. matrix_class gedefinieerd zijn (zie paragraaf 5.10.2). Deze opdracht is dus ook geschikt om polygonen te beschrijven.

Labels tekenen in polygonen

Wanneer gebruik wordt gemaakt van een polygoon kleurenfile (zie opdracht draw_polygon hierboven), dan kan met de opdracht polygon_value, het getal  (uit de polygoon kleurenfile) als label in het centrum van het betreffende polygoon worden geplot. De standaard grootte is 1. Wanneer er gevulde polygonen worden getekend, dan wordt het plotten van het label overgeslagen wanneer de hoogte van het polygoon te laag is voor het label.

polygon_value [grootte]

Voorbeeld 55:

5.10.4	Grid kaarten en polygoon kaarten combineren

Grid kaarten en polygoon kaarten combineren kan ook. Bij gecombineerde kaartjes is de volgorde waarin de polygonen en het grid getekend worden van belang. Als je open polygonen tekent voordat de grid kaart getekend is, worden de polygonen immers weer uitgewist (en andersom bij gesloten polygonen). Met de opdrachten polygon_before en polygon_after kun je de volgorde opgeven:

polygon_after

polygon_before

Default is polygon_after. Let er op dat de volgorde van de opdrachten belangrijk is.

Zie onderstaand voorbeeld, waarin bovengenoemde landgebruikskaart met provincie polygonen gecombineerd worden:

Voorbeeld 56:

5.10.5	Overige kaart opdrachten

M.b.v. de opdracht zoom kun je inzoomen op een deel van een kaart:

zoom links,onder,rechts,boven

De coördinaten mogen buiten de met draw_map gedefinieerde grenzen vallen.

Met de windows-versie van xy kan m.b.v. de muis worden ingezoomd binnen de met draw_map of met zoom aangegeven grenzen.

Je kunt xy de opdracht geven een kaartje zoveel mogelijk rechts of onder te plaatsen. Dit is handig als je twee kaartjes naast elkaar plaatst.

map_right

map_bottom

Met de opdracht map_axissize zorg je ervoor dat in een job een grafiek met bijvoorbeeld markers precies over het laatst getekende kaartje valt en dat voor deze grafiek geen assen worden geplot. Hiermee kunnen op eenvoudige wijze punten op een kaart worden geplot (bijvoorbeeld monsterpunten). De positie en de schaling moeten dan natuurlijk wel overeenkomen met die van het kaartje.

map_axissize

Met behulp van de opdracht north kan een noordpijl worden getekend:

north aantal graden|Xlinks,Yonder,Xrechts,Yboven x,y [grootte]

De richting van het noorden kan op twee manieren worden beschreven. Ten eerste door het aantal graden op te geven. Recht naar boven is 0 graden. De richting kan ook worden bepaald m.b.v. kaartcoördinaten (x, y linksonder, x, y rechtsboven). Xy berekent dan het aantal graden. De coördinaten worden op dezelfde wijze opgegeven als bij legenda's (zie paragraaf 5.6.4). De standaard grootte is 1.

Met behulp van de opdracht scale_bar kan een schaalbalk worden getekend:

scale_bar [Breedte (in mapcoords)] [Hoogte (mapcoords)] [Delen] [x,y] [Text]

De breedte en de hoogte van de schaalbalk worden weergegeven in kaartcoördinaten. Met delen wordt bedoeld het aantal blokjes zwart of wit. De coördinaten worden op dezelfde wijze opgegeven als bij legenda's (zie paragraaf 5.6.4). Met text wordt de tekst beschreven die aan de rechterbovenzijde van de schaalbalk wordt geplot. Bijvoorbeeld: scale_bar 50000 4000 5 L10,B4 '50 km'

_______

5.11	Vectordiagrammen voor het plotten van een snelheidsveld


vectordiagrammen
5.11	Vectordiagrammen voor het plotten van een snelheidsveld

Met één opdracht kun je een snelheidsvelden plotten. De snelheden moeten in het volgende formaat worden aangeleverd:

x1	y1	vx,1	vy,1

Hierin zijn x en y de coördinaten van de te plotten stroomsnelheden, vx is de stroomsnelheid in de x richting en vy is de stroomsnelheid in de y richting.

draw_vector [maximum_snelheid] [maximum_lengte] [kleur] [normaal|logaritmisch]

Hierin is de maximum snelheid de grootste snelheid die geplot wordt. Snelheden groter dan het maximum worden niet getekend. Als je de maximum snelheid niet opgeeft, zoekt xy zelf de maximum snelheid en worden alle pijlen geplot. De maximum lengte van de pijl wordt opgegeven als percentage van de lengte van de X-as. De standaard instelling is 5% van de lengte van de X-as. Kleur verwijst naar één van de no_range kleuren in de file xycolor.set (zie hoofdstuk 9). De laatste vlag geeft weer of het om een normale (0) of een logaritmisch (1) geplotte pijl gaat. De standaardinstelling is 0. Als het om een logaritmisch geplotte pijl gaat, heeft het eerste argument een andere betekenis. Dan is de opgegeven waarde de maximum waarde die nog een pijllengte van 0 heeft. Grotere waarden worden dan wel zichtbaar.

Standaard wordt om de vectordiagram een rand geplot om ruimte te geven aan pijlen die op de rand van het gebied liggen en naar buiten gericht staan. De standaard breedte van die rand wordt bepaald door de maximum lengte van de pijlen. Tevens wordt een lijn getrokken op de grens van het opgeven gebied. Met het commando vector_border kan de breedte van de randen worden aangepast en het tekenen van de grenzen worden onderdrukt.

vector_border X-breedteBuitenGebied,Y-breedteBuitenGebied [grenslijn_vlag]

X-breedteBuitenGebied,Y-breedteBuitenGebied is uitgedrukt in x,y-waarden. Grenslijn_vlag is 0: teken geen grenslijnen, anders, teken die lijnen wel.

Alle andere instellingen kun je blijven gebruiken (bijvoorbeeld graph_ratio om een plaatje vierkant te maken, x_axis, etc.). Standaard plot xy geen assen bij dit soort diagrammen. Je kunt xy de opdracht geven toch assen te plotten m.b.v. de opdracht draw_axis:

draw_axis

Voorbeeld 57:

_______

5.12	Achtergronden met bitmaps


Achtergronden met bitmaps
5.12	Achtergronden met bitmaps

Grafieken kunnen worden verfraaid door een bitmap als achtergrond te tekenen.

Hierbij zijn verschillende mogelijkheden.

•	een bitmap als achtergrond van het gehele plaatje.

•	een bitmap als achtergrond van de grafiek.

•	een bitmap als achtergrond van de grafiek waarbij de bitmap wordt geschaald.

Bij de eerste twee wordt standaard de gehele bitmap over het gehele betreffende gebied uitgevuld. Het is ook mogelijk om de bitmap een positie en grootte te geven.  In dat geval kan één van de coördinaten worden vervangen door 'R'. Dat betekent dan dat de oorspronkelijke hoogte/breedte verhouding (ratio) van de bitmap wordt gehandhaafd. De door 'R' vervangen coördinaat wordt dan uitgerekend op basis van de hoogte/breedte verhouding van de bitmap en de overige drie coördinaten.

De derde methode is bijv. bedoeld voor het tekenen van topografische ondergronden van kaarten of voor het tekenen van geschaalde achtergronden van grafieken. Door de schaling van de betreffende bitmap op te geven, wordt de bitmap automatisch op de goede plek met de goede grootte in de grafiek (kaart) getekend.

De mogelijkheden van de opdracht draw_bitmap:

draw_bitmap file.bmp [0|1|2]  [XLinks,YOnder,Xrechts,Yboven] patroon_vlag

Het tweede argument geeft aan voor welk deel van de figuur de opdracht geldt.

0:	de gehele achtergrond van de figuur, dus ook buiten de grafiek zelf.

1:	alleen de achtergrond van de grafiek.

2:	als 1, maar de betekenis van het derde argument verandert van betekenis. Dan wordt Xlinks,Yonder,Xrechts,Yboven niet in procenten uitgedrukt, maar in coördinaten van de hoekpunten in dezelfde dimensie als de grafiek (of kaart) zelf.  XYwin zoekt dan zelf uit waar de bitmap en/of welk deel van de bitmap moet worden getekend. Het is dan dus ook mogelijk om in te zoomen. Dan wordt vanzelf een kleiner deel van de bitmap getekend.

De patroon_vlag op 0 (default) geeft aan dat de betreffende bitmap geheel uitgevuld in het aangegeven gebied moet worden getekend. Met patroon_vlag op 1 wordt het betreffende gebied uitgevuld door de bitmap te herhalen totdat het gebied vol is.

Ook in jobfiles bestaat de mogelijkheid bitmaps te tekenen. Dan wordt de opdracht bitmap gebruikt.

_______

5.13	Het binnenhalen van andere configuratiefiles


Het binnenhalen van andere configuratie bestanden.
5.13	Het binnenhalen van andere configuratiefiles

Een aantal configuratiefiles zijn vaak voor een groot deel identiek. Om niet telkens in herhalingen te hoeven vervallen, kan in een configuratiefile de opdracht include worden gebruikt.

include [filenaam][,start_string]

Op de plaats van de include opdracht worden de opdrachten die in filenaam staan tussengevoegd. Wanneer achter filenaam een komma met daarachter een string wordt opgegeven, worden uitsluitend de regels tussen start_string en end gelezen.

Indien filenaam wordt weggelaten (dus alleen start_string), dan wordt er van uitgegaan dat de tussen te voegen opdrachten in hetzelfde bestand staan als de include opdracht.

_______

5.14	Vlakvulling met patronen.


Vlakvulling met patronen.
5.14	Vlakvulling met patronen.

Standaard worden figuren zoals staven in staafdiagrammen, grids in een gridkaart of gevulde polygonen gevuld met een effen kleur of grijstint. Met de opdracht patterns kan de betreffende figuur worden gevuld met een patroon, waarbij per kleur een patroon kan worden gekozen. Op een zwart-wit printer zal het patroon in zwart worden geprint. Met behulp van de patronen kunnen de verschillende figuren - ook op een zwart-wit printer - goed worden onderscheiden. Sommige printers zullen echter niet in staat zijn het patroon weer te geven. Datzelfde geldt voor de in xy ingebouwde postscript-driver.

patterns	KleurNr1,PatroonNr1 [KleurNr2,PatroonNr2] ...

[KleurNr255,PatroonNr99]

Er kan een keuze worden gemaakt uit 99 verschillende patronen.

_______


jobfiles
6	JOBFILES

xy biedt de volgende extra mogelijkheden:

1.	Tekenen van meerdere plaatjes op één pagina,

2.	Tekenen van extra teksten,

3.	Tekenen van extra lijnen,

4.	Tekenen van extra symbolen,

5.	Tekenen van, al dan niet met een raster gevulde, rechthoeken.

Deze opties moeten in aparte files worden opgenomen, zgn. jobfiles.

6.1	Aanroep van xy in combinatie met jobfiles

6.2	Opbouw van een jobfile

6.3	xy coördinaten en (letter)groottes

6.4	Meerdere plaatjes op één pagina plotten

6.5	Tekenen van één legenda per bladzijde

6.6	Extra informatie toevoegen aan het plaatje

6.7	Meerdere configuratiefiles in één file opnemen

6.8	Het in één kaart samenvoegen van meerdere kaarten

6.9	Voorbeeld

_______


aanroep van xy met jobfile
6.1	Aanroep van xy in combinatie met jobfiles

Om xy te vertellen dat de aangeboden file een jobfile is, moet je xy aanroepen met opdrachtregel argument -j:

xy -j jobfile [-pl] [-W l] [-W p] [-S PostScript file] [-g]

Op het laatste argument na zijn alle bovenvermelde opdrachtregel argumenten beschreven in hoofdstuk 4. Opdrachtregel argument -g betekent: Teken een hulpgrid op het scherm. Dit hulpgrid kan gebruikt worden om de precieze positie van te tekenen objecten te bepalen. De positie van de te tekenen objecten moet worden uitgedrukt in xy coördinaten (zie hoofdstuk 6.3). Het grid heeft een vertikale en horizontale resolutie van 5X5.

_______

6.2	Opbouw van een jobfile


opbouw van een jobfile
6.2	Opbouw van een jobfile

Een opdracht in een jobfile heeft de volgende algemene vorm:

opdracht argumenten coordinaten en/of afmetingen

Jobfile opdrachten

Vanuit een jobfile kun je de volgende opdrachten aan xy geven:

1.	Tekenen van een grafiek	xy

2.	Tekenen van één legenda per bladzijde	central_legend

2.	Tekenen van extra teksten	title

3.	Tekenen van extra symbolen	marker

4.	Tekenen van extra lijnen	line

5.	Tekenen van een rechthoek	box

6.	Tekenen van de tijd en datum	time en date

7.	Tekenen van een vignet	vignet

8.	Eenmalig coördinaten opgeven voor meerdere kaarten	allmap_coords

Argumenten

De argumenten verschillen per opdracht en staan bij de individuele opdrachten toegelicht.

Coördinaten

De positie van te tekenen objecten moet je met coördinaten opgeven. De grootte van de te tekenen objecten moet je in dezelfde eenheden opgeven. Coördinaten worden behandeld in hoofdstuk 6.3.

_______

6.3	xy coördinaten en (letter)groottes


XY-coördinaten en (letter)groottes
6.3	xy coördinaten en (letter)groottes

In de meeste jobfile opdrachten moeten coördinaten en/of een (letter)grootte opgegeven worden. Coördinaten en (letter)groottes worden altijd uitgedrukt in procenten van de totale afmetingen van het plaatje. De coördinaten zijn als volgt gedefiniëerd:

positie	X-coorinaat	Y-coordinaat

links-onder	0	0

rechts-onder	100	0

links-boven	0	100

rechts-boven	100	100

In de coördinaten verwijst een uitroepteken (!) naar de standaardwaarde. In de X-coördinaten hebben de letter m en r een speciale betekenis. De letter m betekent centreren, de letter r betekent rechts uitlijnen. De letters m en r kunnen gecombineerd worden met een getal om aan te geven rond welke x-waarde gecentreerd moet worden of vanaf welke waarde rechts uitgelijnd moet worden. Tussen coördinaten moeten altijd komma's staan!

Voorbeeld 58:

Om het bepalen van de coördinaten te vergemakkelijken, kun je een hulpgrid laten plotten (optie -g op de opdracht regel). Dit hulpgrid heeft een horizontale en verticale resolutie van 5X5. Het grid kan uitsluitend op het scherm worden getekend (in combinatie met -l of -p wordt dus nooit een hulpgrid getekend.

_______

6.4	Meerdere plaatjes op één pagina plotten


meerdere pagina's op een pagina
6.4	Meerdere plaatjes op één pagina plotten

Door vanuit een jobfile xy een aantal keren aan te roepen, kun je meerdere plaatjes op één pagina plotten. In deze aanroep zijn alle opdrachtregel argumenten, behalve -j, -p, -l en -S, toegestaan.

6.4.1	Opgeven van de grootte van de plaatjes

6.4.2	Plaatjes vaste afmetingen geven

6.4.1	Opgeven van de grootte van de plaatjes

In jobfiles moet de positie en de grootte van de plaatjes worden opgegeven. Hiertoe dient xy opdrachtregel argument -V Xlo,Ylo,Xrb,Yrb (zie ook hoofdstuk 7). Hierin staan X en Y respectievelijk voor de horizontale en de verticale coordinaat, lo staat voor linksonder en rb staat voor rechtsboven. Als xy vanuit een jobfile wordt opgeroepen, krijgen alle plaatjes een vaste afmeting, tenzij no_fixed_size (zie paragraaf 6.4.2) of fixed_width (zie paragraaf 6.4.2). xy wordt dus aangeroepen met opdrachtregel argument -f (zie hoofdstuk 7).

Voorbeeld 59:

TIPS:	Om zo efficient mogelijk gebruik te maken van de beschikbare ruimte op een pagina, heeft xy een aantal mogelijkheden:

1.	Plaatjes worden `transparant' over elkaar heen gelegd. Aangezien rond iedere figuur een zekere vrije ruimte getekend wordt, kun je in de coördinaten van de diverse plaatjes een overlap opgeven. Om coördinaten heel precies te bepalen, kun je een hulpgrid op het scherm laten tekenen (zie hoofdstuk 6.3) en gebruik maken van WYSIWYG weergave (opdracht regel argument -W p of -W l, of commando's portrait of landscape).

2.	Bij het plaatsen van twee figuren naast elkaar kun je van het rechter plaatje de Y-as rechts plaatsen: optie y1_right (zie paragraaf 5.7.6).

3.	Bij het plaatsen van meerdere figuren onder elkaar kun je, indien de assen van alle plaatjes identiek zijn, de labels van de bovenste plaatjes onderdrukken door het gebruik van min-tekens in de label-string (zie hoofdstuk 5.7)

4.	Legenda's kunnen met de configuratiefile opdracht legend_pos (zie paragraaf 5.6.5) op een willekeurige plaats in het plaatje gezet worden. M.b.v. de jobfile opdracht central_legend kun je ervoor zorgen dat xy slechts één legenda per bladzijde tekent.

5.	Met de opdracht fixed_width in de configuratiefiles kan het opvullen in verticale richting worden vereenvoudigd.

6.4.2	Plaatjes vaste afmetingen geven

De plaatjes worden zodanig getekend, dat optimaal gebruik gemaakt wordt van de beschikbare ruimte. Dit betekent dat de instellingen in het plaatje invloed hebben op de lengte (in cm) van de assen. Als je de plaatjes altijd dezelfde afmetingen wilt geven (bijvoorbeeld als je overhead sheets over elkaar wilt leggen), neem dan de volgende opdracht in de configuratiefile op:

fixed_size

Opdracht fixed_size komt overeen met opdrachtregel argument -f.

De opdracht fixed_size kan standaard gemaakt worden door deze op te nemen in xy_def.set. Als je fixed_size in deze file gezet hebt, en deze optie toch tijdelijk wilt uitschakelen, neem dan de volgende opdracht in de lokale configuratie file op:

no_fixed_size

Je kunt ook plaatjes met een vaste breedte maken, terwijl de hoogte optimaal gekozen wordt. Hiertoe dient de opdracht fixed_width:

fixed_width

De tekst langs een y-as (opdracht y1_text) wordt standaard op een vaste afstand vanaf de y-schaal waardes getekend. Wanneer een aantal plaatjes boven elkaar worden getekend, en de lengte van de y-schaal waardes is per plaatje verschillend, dan staan de teksten langs de y-as dus niet recht boven elkaar. Met de opdracht fixed_ytext kunnen die teksten recht boven elkaar worden geplaatst.

fixed_ytext [y-positie]

De y-positie (0-100) geeft de positie van de tekst aan vanaf de linkerzijde.

_______

6.5	Tekenen van één legenda per bladzijde


een legenda per bladzijde
6.5	Tekenen van één legenda per bladzijde

Als alle plaatjes op de bladzijde dezelfde legenda hebben, kun je xy instrueren slechts één legenda te plotten. Hiertoe dient de opdracht central_legend:

central_legend X-coördinaat,Y-coördinaat [grootte]

Voor deze opdracht gelden de volgende regels:

1.	In deze opdracht geef je alleen de coördinaten en de grootte van de centrale legenda op. Voor de teksten in de legenda wordt gebruik gemaakt van de legend opdracht in de configuratiefile van het laatste plaatje dat je vanuit een jobfile hebt opgeroepen.

2.	De coördinaten gelden voor de linker-onderzijde van de legenda.

3.	De opdracht no_legendbox is ook van toepassing op de centrale legenda.

Voorbeeld 60:

_______

6.6	Extra informatie toevoegen aan het plaatje


extra informatie
6.6	Extra informatie toevoegen aan het plaatje

Via een jobfile kun je extra teksten, de datum en de tijd, lijnen, symbolen en een vignet aan het plaatje toevoegen. Het font van deze extra teksten kan worden aangepast.

6.6.1	Fonts van extra teksten

6.6.2	Tekenen van extra teksten

6.6.3	Tekenen van extra lijnen

6.6.4	Tekenen van extra symbolen

6.6.5	Tekenen van een rechthoek

6.6.6	Tekenen van een vignet

6.6.7	Tekenen van de tijd en de datum

6.6.8	Tekenen van een bitmap

6.6.1	Fonts van extra teksten

Met de font opdracht kun je het standaard lettertype (Helvetica Normaal) wijzigen. De font opdracht geldt voor alle teksten tot de volgende font opdracht in de jobfile.

font lettertype [bold] [italic] [color_kleurnr]

Hierin hebben stijl, lettertype en kleur_nr de volgende waarden:

stijl	lettertype	kleur

bold	helvetica	één van de kleuren in de file xycolor.set.

italic	times_roman	Default is textcolor (zie hoofdstuk 9).

courier

symbol

6.6.2	Tekenen van extra teksten

Met de title opdracht kun je extra informatie aan het plaatje toevoegen. De title opdracht heeft de volgende vorm:

title 'te printen extra informatie' x,y [grootte] [vlag]

Denk aan de verplichte quotes rond de te plotten teksten. De standaard grootte is 1. Vlag is 1 wanneer de tekst 90° gedraaid moet worden getekend.

6.6.3	Tekenen van extra lijnen

Extra lijnen kun je opnemen met de volgende opdracht:

line X_begin,Y_begin,X_eind,Y_eind [lijntype] [lijndikte] [kleur]

De lijntypes komen overeen met de in paragraaf 5.8.1 genoemde lijntypes. Het standaard lijntype is 1. De standaard lijndikte is 1 (2 betekent 2 x zo dik), de standaard kleur is textcolor (zie hoofdstuk 9).

6.6.4	Tekenen van extra symbolen

Extra symbolen kun je aan het plaatje toevoegen met de opdracht:

marker X_coordinaat,Y_coordinaat symbooltype [grootte] [kleur]

De symbooltypes komen overeen met de in paragraaf 5.8.1 genoemde symbooltypes. De standaard grootte is 1. De standaardkleur is textcolor (zie hoofdstuk 9).

6.6.5	Tekenen van een rechthoek

Met de box optie kun je een rechthoek tekenen:

box X_links-onder,Y_links-onder,X_rechts-boven,Y_rechts-boven [kleurnr] [boxtype] [patroonr]

De kleuren komen overeen met de, in de file xycolor.set gedefinieerde kleuren en grijstinten. De standaard kleur is zwart. Het boxtype heeft de volgende betekenis:

1.	teken alleen de vulling,

2.	teken alleen het kader,

3.	teken vulling en kader (standaard).

Wanneer een patroonnr (1-99) wordt ingevoerd, dan wordt - indien boxtype 1 of 3 is gekozen - de rechthoek met een patroon gevuld. Er kan uit 99 verschillende patronen worden gekozen.

6.6.6	Tekenen van een vignet

Een vignet kun je aan het plaatje toevoegen met de opdracht:

vignet X_links-onder,Y_links-onder,X_rechts_boven,Y_rechtsboven [vignet_file]

Standaard wordt een RIVM vignet getekend (xyvignet.dat). Je kunt een ander standaard vignet definieren door de file xyvignet.dat aan te passen. Je kunt ook tijdelijk een ander vignet opgeven door te verwijzen naar een andere vignet file (zie hoofdstuk 10).

6.6.7	Tekenen van de tijd en de datum

De systeemtijd en datum kun je plotten met de time en date opdrachten:

time X_coördinaat,Y_coördinaat [grootte]

date X_coördinaat,Y_coördinaat [grootte] [taalvlag]

Standaard wordt de datum in het engels geplot. Met taalvlag op 1 wordt de datum in het nederlands geplot.

Met de draw_time en draw_date opdrachten in setfiles kunnen ook de datum en tijd worden geplot.

6.6.8	Tekenen van een bitmap

Grafieken kunnen worden verfraaid door een bitmap als achtergrond te tekenen.

De mogelijkheden van de opdracht bitmap:

bitmap file.bmp [!] [XLinks,YOnder,Xrechts,Yboven] patroon_vlag

Het tweede argument heeft geen betekenis en moet als het derde of vierde argument wordt gebruikt als '!' worden weergegeven. Dit argument heeft wel betekenis bij de opdracht draw_bitmap in setfiles. De default waarden van X_links-onder, etc. zijn 0,0,100,100. De bitmap wordt dan over de gehele achtergrond getekend. Wanneer de coördinaten worden ingevuld, kan één van de coördinaten worden vervangen door 'R'. Dat betekent dan dat de oorspronkelijke hoogte/breedte verhouding (ratio) van de bitmap wordt gehandhaafd. De door 'R' vervangen coördinaat wordt dan uitgerekend op basis van de hoogte/breedte verhouding van de bitmap en de overige drie coördinaten.

De patroon_vlag op 0 (default) geeft aan dat de betreffende bitmap geheel uitgevuld in het aangegeven gebied moet worden getekend. Met patroon_vlag op 1 wordt het betreffende gebied uitgevuld door de bitmap te herhalen totdat het gebied vol is.

Ook in setfiles bestaat de mogelijkheid bitmaps te tekenen. Dan wordt de opdracht draw_bitmap gebruikt.

_______

6.7	Meerdere configuratiefiles in één file opnemen


meerdere configuratiefiles in file
6.7	Meerdere configuratiefiles in één file opnemen

Meerdere configuratiefiles kunnen in één file opgenomen worden. Door deze optie te gebruiken kan het aantal configuratie files beperkt blijven en de directory overzichtelijk. Deze optie is ook van belang als je vanuit een jobfile xy aanroept. De instellingen van de individuele plaatjes kunnen dan achter de jobfile zelf geplakt worden. Om deze optie te gebruiken moet xy als volgt worden aangeroepen:

xy -i start_string... -c configuratie file

xy leest uitsluitend de regels die tussen start_string (achter optie -i) en end staan.

_______

6.8	Het in één kaart samenvoegen van meerdere kaarten


samenvoegen van meerdere kaarten in één kaart
6.8	Het in één kaart samenvoegen van meerdere kaarten

Soms worden gridkaarten als bijvoorbeeld kaartbladen aangeleverd. In feite rechthoeken met informatie. Een verzameling van dergelijke kaarten kunnen worden samengevoegd tot één kaart door de opdracht allmaps_coords in de jobfile op te nemen. Alle in deze job getekende kaarten worden dan (indien ze binnen de opgegeven coördinaten vallen) geheel of gedeeltelijk binnen dezelfde kaart getekend.

allmaps_coords XLinks,YOnder,Xrechts,Yboven

De coördinaten worden uitgedrukt in kaarteenheden.

_______

6.9	Voorbeeld


Voorbeeld van jobbestand
6.9	Voorbeeld

Hieronder staat een volledige setfile en de bijbehorende figuur. In de bovenste regels van de jobfile staan de job opdrachten, daaronder staan de opdrachten van de vier individuele plaatjes. Let op de definitie van de X-as en de plaatsing teksten m.b.v. de title opdracht.

Voorbeeld 61:


opdrachtregel argumenten
7	OPDRACHTREGEL ARGUMENTEN

Via opdrachtregel argumenten kan het gedrag van xy op een snelle wijze beinvloed worden. De diverse opdracht regel argumenten zijn hieronder besproken. De meeste opdrachtregel argumenten hebben een equivalent in de configuratiefile. Deze staat bij elk argument genoemd.

De opdrachtregel argumenten staan in alfabetische volgorde. De diverse opties kunnen als volgt gerubriceerd worden:

1.	Printopties	C, f, k, l, o, p, prt, S, wp, 3 en #

2.	Schermweergave opties	f, g, V en W

3.	Opgeven van een configuratiefile	c en i

4.	Opgeven van een jobfile	j en i

5.	Keuze van het diagramtype (stacked-graph,

line-graph, scatter-graph, bar-graph)	a, A, b, B en m

6.	Data manipulatie opdrachten	a en t

7.	Overige opties	I, M, N, s, v, x, X en z

Opdrachtregel argumenten

-a	Tel de Y-waarden in de diverse datareeksen op (`stacked data'). Deze optie is vooral zinnig in combinatie met een `area graph' (-aA) of een `bar graph' (-aB). Opdrachtregel argument -a komt overeen met de opdracht stack_data (zie paragraaf 5.8.4)

-A	Vul de ruimte tussen de lijnen (`area graph'). Deze optie komt overeen met de opdracht draw_area ALL (zie paragraaf 5.8.3).

-b	Teken zowel lijnen als symbolen. Deze optie geldt voor alle dataseries en komt overeen met de opdrachten draw_markers 1 2 3 4 5 6 7 8 9 (zie hoofdstuk 5.8, 5.8.1).

-B	Teken een bar-diagram. Deze optie geldt voor alle dataseries en komt overeen met de opdracht draw_bars 1 2 3 4 5 6 7 8 9 (zie paragraaf 5.8.2). Als in de configuratiefile één van de opdrachten draw_lines of draw_markers voorkomen, dan worden deze niet onderdrukt.

-c	Lees de grafiekinstellingen vanaf een configuratiefile. De opmaak van deze file staat beschreven in hoofdstuk 5. Gebruik: xy -c configuratiefile.

-C	Genereer een kleuren PostScript file. Standaard wordt een zwart-wit PostScript file aangemaakt. Het spreekt vanzelf dat dan wel een kleuren PostScript printer beschikbaar moet zijn.

-cmd	Het is nu mogelijk een extra commando via de opdracht regel op te geven. Dit kan handig zijn om tijdelijk iets te proberen, zonder de configuratie file te moeten veranderen. De opdracht achter data moet tussen dubbele aanhalingstekens staan (PC) of enkele aanhalingstekens (UNIX). Voorbeeld:

xy -c plaatje.set -cmd "title_1 Een nieuwe titel."

-d	Skip de dataselectie. Wordt vooral gebruikt bij de selectie van data uit lange databestanden.

-f	Geef de grafiek vaste afmetingen. Standaard kiest xy de maximaal mogelijke afmetingen. Deze optie is handig als je meerdere plaatjes over elkaar heen wilt kunnen leggen, bijvoorbeeld als je ze op overhead-sheets plot. Optie -f komt overeen met de opdracht fixed_size (zie paragraaf 6.4.2).

-g	Teken een hulp grid. Dit hulp grid is bedoeld voor het precies bepalen van coördinaten van plaatjes, teksten, etc. (zie hoofdstuk 6.3). Het grid heeft een resolutie van 5X5 en wordt uitsluitend op het scherm getekend.

-h	On line help. Door xy -h te typen krijg je een overzicht van alle XY opdrachten. Als de opdracht door een enkele letter gevolgd wordt, laat XY alle opdrachten zien die met die letter beginnen (bijvoorbeeld xy -h c laat alle opdrachten die met een c beginnen zien). Als je -h door een string laat volgen laat XY alle opdrachten waarin die string voorkomt zien (xy -h axis laat alle opdrachten waarin het woord axis voorkomt zien).

-i	Lees in de configuratiefile tussen de string achter deze optie en de string END (of het einde van de file). Op deze manier kun je instellingen voor meerdere plaatjes in één file opnemen. Dit vermindert het aantal files aanzienlijk en kan de directory overzichtelijker maken. Voorbeeld: xy -c tijd.set -i 10CM zorgt ervoor dat alleen die regels in de file tijd.set gelezen worden die tussen de string `10CM' en de string END staan. Gebruik: xy -c configuratiefile -i beginstring.

-I	Onderbreek alle lijnen in het geval van een error waarde of missing data. Deze opdracht komt overeen met de odracht interrupt_lines 1 1 1 1 1 1 1 1 1.

-j	Lees een aantal aanroepen van xy vanaf een jobfile (zie hoofdstuk 6). Dit biedt de mogelijkheid meerdere plaatjes op één pagina te plotten. Recursieve aanroepen (dus het aanroepen van een job-file vanuit een job-file) zijn niet toegestaan. Gebruik: xy -j jobfile.

-k	Het aantal kopiën van de te plotten grafiek. Moet gebruikt worden in combinatie met -l of -p.

-l	Print in landscape (liggend A4/A3; kan eventueel gecombineerd worden met -S)

-m	Print alle datapunten als markers (de standaardinstelling is print lijnen)

-M	Relatieve afstand die links van het minimum en rechts van het maximum langs de X-as wordt vrijgelaten. Als het getal niet te groot gekozen wordt, wordt deze afstand uitgedrukt als fractie van de totale lengte van de X-as. Deze optie kan gebruikt worden om markers en bars aan de randen van het plaatje geheel te plotten. Standaard begint en eindigt de X-as precies bij het opgegeven punt en worden bars en markers getrunceerd, tenzij -B gekozen is. Een marge van 0.05 is in de meeste gevallen voldoende, tenzij een speciaal effect voor ogen staat. Optie -M komt overeen met de opdracht x_margin (paragraaf 5.8.2). Gebruik: xy -M margin.

-N	Maximum aantal staafjes dat zonder overlap geplot kan worden. Hoe hoger het getal, hoe smaller de staafjes worden. Standaard wordt de breedte berekend op basis van het verschil tussen de maximum en minimum waarde langs de X-as en het aantal regels in de invoerfile. Gebruik: xy -N nrofbars. Opdrachtregel -N is synoniem met de opdracht nr_bars.

-o	Hiermee kun je - bij een printer met meerdere bakken - de papierlade kiezen. De opdracht zorgt ervoor dat - bij gebruik van de opdracht -3 bij de aanroep van XY ook daadwerkelijk A3 papier gekozen wordt. Echter sommige printers struikelen erover! Opdrachtregel -o is synomiem met de opdracht print_papersize.

-p	Print in portrait (staand A4/A3; kan gecombineerd worden met -S).

-prt	'label': Geeft aan welke printer moet worden aangestuurd (zie hoofdstuk 11.1)

-s	`Skip string': Identificatie van commentaarregels in de datafile. Regels die met deze string beginnen worden tijdens het inlezen overgeslagen. Standaard worden regels die met een `*' beginnen overgeslagen. Gebruik: xy -s skipstring (bijv. xy -s //). Deze optie komt overeen met de skip opdracht.

 -S	Bewaar de PostScript file. Deze optie moet gecombineerd worden met een van de opties -l of -p. Als de optie -S niet wordt opgegeven wordt de PostScript file na het printen verwijderd. De PostScript file kan in programma's als WordPerfect worden binnengehaald. Gebruik: xy -l -S PostScript file.

-t	Zet alle gegevens cumulatief uit. Deze opdracht komt overeen met de opdracht cumulative 1 1 1 1 1 1 1 1 1.

-v	Teken een kader rond het plaatje waarin de datum, tijd, invoerfiles, extra titels en het vignet staan. Deze optie komt overeen met de opdracht draw_box (zie hoofdstuk 8.1).

-V	Definieer de afmetingen van het plaatje. Deze optie moet gevolgd worden door X en Y coördinaten (zie hoofdstuk 6.3), n.l. X_links,Y_onder,X_rechts,Y_boven. Voorbeeld: -V 0,0,50,50 laat het plaatje in het linker onder quadrant van het scherm of papier zien. De komma's tussen de coördinaten zijn verplicht. Deze optie is vooral belangrijk als je meerdere plaatjes op één pagina wilt tekenen (zie hoofdstuk 6.4). Gebruik: xy -V xl,yo,xr,yb.

-wp	Pas de resolutie van gebroken lijnen aan als je het plaatje wilt verkleinen, dit om te voorkomen dat de lijnen dichtlopen. Handig bij importeren van het plaatje in WordPerfect. xy -wp h betekent: plaatje wordt op half formaat uitgeprint. xy -wp f betekent: plaatje wordt vol formaat geprint. Je kunt ook een factor opgeven, bijvoorbeeld xy -wp 0.25 betekent dat het plaatje 4x verkleind wordt.

-W	Teken het plaatje (min of meer) `WYSIWYG' (What You See Is What You Get). Het plaatje wordt op het scherm getekend in dezelfde verhoudingen als op papier. De optie moet gecombineerd worden met l (landschap of liggend) of p (portret of staand). Dus: -W l of -W p (let op de verplichte spatie!). Een echt goede preview van het plaatje krijg je overigens door de PostScript file te bewaren en deze vervolgens naar het scherm te schrijven met het programma GoScript.

-x	In het geval van staafdiagrammen: De staafjes worden precies op hun over-eenkomstige X-waarde geplaatst, ook al moeten er op dat punt meerdere staafjes worden geprint. Standaard worden staafjes met een overlap van 33% rond de overeenkomstige X-waarde gecentreerd. Deze optie komt overeen met de opdracht justify_bars (zie paragraaf 5.8.2)

-X	In het geval van labels langs de X-as (zie hoofdstuk 5.7): De labels worden gecentreerd rond de tics. Standaard worden de labels tussen de hoofd-tics geplaatst. Deze optie komt overeen met opdracht justify_xlabels (zie paragraaf 5.7.3)

-z	Teken een nullijn die hoort bij de linker Y-as. Standaard wordt géén nullijn getekend. Deze optie komt overeen met opdracht zero_line 1 (zie paragraaf 5.7.6).

-3	Plot het plaatje op A3 formaat.

-#	Print het plaatje rechtstreeks op de voor xy gekozen standaardprinter, zonder schermuitvoer.


XY en andere programma's
8	XY EN ANDERE PROGRAMMA'S

xy kan uitstekend in een geautomatiseerde omgeving worden gebruikt. Aangezien de configuratiefiles en jobfiles van xy gewone ASCII bestanden zijn, kan een FORTRAN, PASCAL, C/C++, Delphi of VisualBasic programma deze files aanmaken. In de plaatjes kan informatie worden opgenomen over:

-	de gebruikte in- en uitvoerfiles,

-	de tijd en datum,

-	de waarde van belangrijke invoervariabelen,

-	de diepte waarvoor het plaatje geldt; etc.

Als deze informatie automatisch in de configuratie file of jobfile geschreven wordt, kunnen veel misverstanden voorkomen worden.

Een aantal xy opdrachten zijn speciaal gericht op archivering. De belangrijkste van deze oprachten zijn:

1.	Tekenen van een standaardkader met vignet, de namen van in- en uitvoerfiles, de datum en de tijd (draw_box)

2.	Tekenen van extra teksten (title)

3.	Tekenen van datum en tijd in een setfile (draw_date en draw_time) en in een jobfile (date en time)

8.1	Tekenen van een kader met o.a. het vignet

8.2	Tekenen van extra titels en de datum

_______


Tekenen van een kader met o.a. het vignet
8.1	Tekenen van een kader met o.a. het vignet

M.b.v. optie draw_box kan een kader rond het plaatje worden getekend met extra informatie over tijd, datum en de gebruikte in- en uitvoerfiles. Bovendien is er ruimte voor twee extra teksten. Plaatjes met een dergelijke opmaak zijn bedoeld voor archivering. Als xy de opdracht draw_box in de configuratie file tegenkomt, wordt een kader getekend:

draw_box

Opdracht draw_box komt overeen met opdrachtregel argument -v

Door opdracht draw_box in de standaardconfiguratie file (xy_def.set) op te nemen, kun je xy zodanig instellen dat altijd een kader getekend wordt. Als je dit gedaan hebt, moet je expliciet de opdracht no_box gebruiken om dit te onderdrukken:

no_box

In het kader is ruimte voor twee extra teksten. Deze teksten worden aangeduid als title_3 en title_4:

title_3 te plotten tekst

bijvoorbeeld de naam van het programma dat de invoerfiles maakte

title_4 te plotten tekst

bijvoorbeeld een identificatie

In het kader worden standaard het RIVM vignet en de woorden `LBG' en `Bilthoven' en de tekst `Rijksinstituut voor Volksgezondheid en Milieuhygiene' geplot. Deze informatie kan gewijzigd worden met de volgende opdrachten:

institute afkorting instituut

department afdelingscode

city naam van de plaats

name naam van het instituut

Als je de opdracht institute opgeeft, dan plot xy géén vignet maar de opgegeven naam (ook al is de opgegeven naam `rivm'. Je kunt een ander vignet laten plotten door de file `xyvignet.dat' (zie hoofdstuk 10) te wijzigen. Deze vier opdrachten kun je het beste in de standaard-configuratie file (xy_def.set) opnemen.

_______

8.2	Tekenen van extra titels en de datum


Tekenen van extra titels en de datum
8.2	Tekenen van extra titels en de datum

Als je liever geen gebruik maakt van de mogelijkheden in hoofdstuk 8.1, dan kun je in een jobfile (zie hoofstuk 6) met de opdrachten title, date en time ook extra informatie toevoegen aan het plaatje. Hetzelfde geldt voor een setfile (zie hoofdstuk 5) met de opdrachten text, draw_date en draw_time.


kleurinstellingen
9	KLEURINSTELLINGEN

XY leest de kleurinstellingen vanaf de meegeleverde kleurenfile xycolor.set. De gebruiker kan het standaard kleurenpallet aan zijn persoonlijke voorkeur aanpassen door deze file te wijzigen. Daarnaast kunnen kleurenfiles voor specifieke aplicaties aangemaakt worden.

9.1	Kleurenfiles voor specifieke aplicaties

9.2	Kleurendefinities

9.3	Wijzigen van de standaardwijze van inlezen

_______


Kleurenfiles voor specifieke aplicaties
9.1	Kleurenfiles voor specifieke aplicaties

XY leest de kleurinstellingen standaard vanaf de file xycolor.set. Bovendien kun je kleurenfiles voor specifieke aplicaties maken. De opdracht colorfile dient ervoor om deze file op te geven:

colorfile [pad]filenaam

Als je het pad in de filenaam weglaat, kijkt xy eerst in de huidige directory en vervolgens in de standaard xy directory. Als je colorfile niet expliciet opgeeft, kijkt xy eerst of er een file xycolor.set in de huidige directory staat. Wordt deze niet gevonden, dan wordt de standaard kleurenfile gebruikt.

_______

9.2	Kleurendefinities


Kleurendefinities
9.2	Kleurendefinities (de file xycolor.set)

XY gebruikt aparte definities voor kleuren (voor kleurenscherm en kleuren PostScript) en grijstinten (PostScript grijstinten). Zowel kleuren als grijstinten worden opgegeven in fracties rood, groen en blauw (rgb codes).

range en no_range kleuren

Bij de definitie van kleuren en grijstinten wordt verder onderscheid gemaakt in range kleuren en no_range kleuren. Bij range kleuren worden uitsluitend rgb codes voor de eerste en de laatste dataserie of klasse opgegeven, xy berekent dan zelf het verloop tussen deze waarden. De gebruiker kan zo met weinig moeite een verloop van bijvoorbeeld blauw naar rood definieren. Bij no_range kleuren definieert de gebruiker de kleurcodes voor alle (individuele) dataseries of klasses. In het geval van zwart-wit PostScript zijn range kleuren standaard voor alle vlak vullende diagrammen (bar graphs, area graphs, contour diagrammen en kaarten), bij scatter graphs en line graphs wordt uitsluitend met zwart-wit gewerkt (achtergronds- en tekstkleur). In het geval van kleuren PostScript en het scherm worden range kleuren uitsluitend standaard gebruikt bij contourdiagrammen.

Standaard kleuren pallet

Soort diagram	Kleuren PostScript en scherm	Zwart Wit PostScript

scatter graph	no_range	tekst kleur (textcolor)

line graph	no_range	tekst kleur (textcolor)

bar graph	no_range	range

area graph	no_range	range

contour diagram	range	range

kaart	no_range	range

ordinatie diagram	no_range	tekst kleur (textcolor)

vector diagram	no_range	tekst kleur (textcolor)

Opmaak van xycolor.set

In de file xycolor.set staan standaardinstellingen voor de tekstkleur, de achtergrondskleur, no_range kleuren en range kleuren. Hiertoe dienen de volgende sleutelwoorden:

background	Achtergrondskleur

textcolor	Kleur en grijstint van assen, teksten, etc.

1-14	Kleuren en grijstinten van de dataseries of klasses in een no_range plot.

firstcolor	Kleur en grijstint van de eerste dataserie of klasse met range kleuren.

lastcolor	Kleur en grijstint van de laatste dataserie of klasse met range kleuren.

De bovenste regels in de file worden gebruikt voor de definitie van schermkleuren en kleuren PostScript. De onderste regels (onder het sleutelwoord postscript) worden gebruikt voor de definitie van PostScript grijstinten. Als je in het geval van een range plot niet bij zwart wilt beginnen of niet bij wit wilt eindigen, moet je onder het hoofdje postscript ook firstclass en lastclass definieren. xy berekent dan het verloop tussen de opgegeven waarden. no_range kleuren hoeven voor zwart wit PostScript niet te worden opgegeven.

In opdrachten waar je met nummers naar kleuren moet verwijzen, kun je naar de achtergrondskleur verwijzen via kleur nummer -1 en naar de tekstkleur met kleur nummer 0.

Als voorbeeld is hier de inhoud van de standaard file xycolor.set gegeven. Hier staan slechts 6 no_range kleuren gedefinieerd, voor de overige kleuren worden hardware defaults gebruikt.

Voorbeeld 62:

 _______

9.3	Wijzigen van de standaardwijze van inlezen


Wijzigen van de standaardwijze van inlezen
9.3	Wijzigen van de standaardwijze van inlezen

xy laat, in het geval van range kleuren de kleuren standaard van firstclass naar lastclass verlopen. Deze volgorde kun je eenvoudig omdraaien, zonder de file xycolor.set te wijzigen. Bovendien kun je gebruik maken van range kleuren, ook al gebruikt xy normaal no_range kleuren of andersom. De opdracht geldt zowel voor zwart-wit PostScript als kleuren (met uitzondering van het argument range/no_range).

colors [range|no_range] [reverse|no_reverse] [background]

Voorbeeld 63:


definitie van het vignet
10	DEFINITIE VAN HET VIGNET

Met xy wordt het rivm vignet meegeleverd. Dit vignet wordt afgebeeld als je xy met optie -v opstart, of als je de opdracht draw_box of vignet gebruikt. Het vignet wordt opbebouwd als een polygoon. De coördinaten van deze polygonen worden gelezen vanaf de file xyvignet.dat. De polygoon files lijken qua opmaak zeer sterk op polygoon kaartbestanden. Deze file heeft de volgende vorm:

kleurnr 	aantal punten (n) van de eerste polygoon [1|2|3]

x1	y1	(x en y moeten liggen tussen 0 en 1)

.

.

xn	yn

kleurnr	aantal punten van de tweede polygoon [1|2|3]

etc.

(hierin is 1 alleen de vlakvulling met de genoemde kleur, 2 is alleen de lijn met de genoemde kleur en 3 is een zwart omkaderde vulling.

Je kunt een ander vignet definieren door de file xyvignet.dat aan te passen. In sommige gevallen kan het echter lastig zijn de coördinaten van de polygonen uit te rekenen. In dit geval kun je, als je niet het rivm vignet wilt tekenen, de opdracht institute in de standaard configuratiefile (xy_def.set) zetten. xy tekent dan de (opgegeven) instituutsafkorting.


XY plaatjes printen
11	XY PLAATJES PRINTEN

De uitvoer naar printers is voor de DOS en X-Windows versie anders geregeld dan voor de pc-windows versie. De pc-windows versie maakt via een popup-menu gebruik van de beschikbare windows-drivers. Via het popup-menu kan de uitvoer tevens naar een PostScript file worden gestuurd.

Voor de DOS en X-Windows versie is uitvoer alleen mogelijk naar PostScript.

Sturing is mogelijk van orientatie, kleur, papiergrootte en keuze van printer.

Orientatie

De oriëntatie van de PostScript uitvoer kan worden geregeld met de opdrachtregel argumenten -p (portrait) en -l (landscape). Wanneer duidelijk is dat een plaatje in bijv. portrait moet worden uitgevoerd, kan het handig zijn om bij het opmaken van dat plaatje telkens de Wysiwyg optie -W p te gebruiken. Het is dan ook mogelijk om de opdracht portrait (of landscape) in de set- of jobfile op te nemen.

Kleur

Voor het printen in kleur moet de opdrachtregel argument -C worden opgegeven. Wanneer een specifieke printer wordt opgegeven dan kan dat eventueel achterwege blijven (zie hoofdstuk 11.1).

Papiergrootte

De uitvoer naar PostScript is standaard voor A4-formaat. Met de opdrachtregel argument -3 wordt de PostScript-file voor A3-formaat. Wanneer een specifieke printer wordt opgegeven dan kan dit argument eventueel achterwege blijven. (zie hoofdstuk 11.1).

Bij een printer met meerdere bakken, kun je de papierlade kiezen. De opdrachtregel argument -o (of opdracht print_papersize) zorgt ervoor dat - bij gebruik van het argument -3 - bij de aanroep van XY ook daadwerkelijk A3 papier gekozen wordt. Echter sommige printers struikelen erover!

11.1	Aanstuurmogelijkheid voor meerdere printers

11.2	Xy plaatjes printen met WordPerfect

11.3	Xy plaatjes uitvoer in het Enhanced Metafile formaat

11.1	Aanstuurmogelijkheid voor meerdere printers

In de file xy_print.set (in de xy-directory) kunnen de batch-files worden opgegeven voor de aansturing van verschillende printers. In die file staat voor elke printer een regel met een label, de naam van de batchfile, eventueel gevolgd door een vlag voor kleur en een vlag voor papiergrootte. Bijvoorbeeld:

laser c:\printers\laser

kleur c:\printers\kleur 1

zwgroot c:\printers\zwa3 0 1

Als je nu wilt printen naar de kleurenprinter dan moeten de volgende argumenten op de commandoregel worden opgenomen:

-p (voor het printen in portrait) of -l (voor landscape)

-prt kleur (voor het printen met behulp van de batchfile c:\printers\kleur.bat)

Omdat de vlag voor kleur aan staat, wordt de postscriptfile automatisch in kleur weggeschreven. Het argument -C is dan niet meer nodig (en wordt dan ook niet meer vergeten).

Zonder -prt label wordt gebruik gemaakt van psprint.bat (voor een beschrijving van zo'n batchfile: zie hoofdstuk 3.1). Eventuele instelling van kleur en/of papiergrootte moet dan nog wel worden opgegeven op de commandoregel.

11.2	Xy plaatjes printen met WordPerfect

XY plaatjes kunnen in WordPerfect (versie 5.1) binnengehaald worden.

Doorloop hiertoe de volgende stappen:

XY instellingen en PostScript file bewaren

1.	Pas het te gebruiken font in het plaatje aan aan het font dat je in de tekst gebruikt. xy ondersteunt Courier, Helvetica en Times-Roman (zie paragraaf 5.4.3).

2.	Als in het plaatje gebroken lijntypes voorkomen, en het plaatje wordt in wp binnengehaald, dan bestaat de kans dat de lijnen dichtlopen. Dit is zeker het geval als het plaatje sterk verkleind wordt. Om het dichtlopen van de lijnen te voorkomen, bestaat de volgende xy opdracht regel argument:

xy -wp f|h|getal

Hierin betekent:

f:	volle breedte

h:	halve breedte (in WordPerfect optie links, midden of rechts)

getal:	geeft de verkleiningsfactor weer. Bij een plaatje van 4 cm is bijvoorbeeld een verkleiningsfactor van 0.3 nodig.

3	Bewaar het plaatje als volgt:

1	In het geval van één enkel plaatje (via configuratie file)

1	Zorg ervoor dat het plaatje bladvullend is (gebruik bij voorkeur niet de optie fixed_size).

2	Print het plaatje landscape:

xy -c plaatje.set -S plaatje.wps -l -overige opties. LET OP: de extensie wps is verplicht; xy bereidt het plaatje dan voor voor WordPerfect)

2	In het geval van meerdere plaatjes op één pagina (via jobfile):

1	Zorg ervoor dat de bladzijde zo goed mogelijk gevuld is.

2	print het plaatje portrait

xy -j plaatje.job -S plaatje.ps -p -overige opties (waaronder eventueel -wp).

WordPerfect standaard instellingen

1.	Start WordPerfect op en haal het document binnen

2.	Verander de afbeeldingsopties aan het begin van het document:

Kies ALT-F9 - Afbeelding - Opties

1	Kies hieruit desgewenst Kaderrand geen

2	Pas de teksten van het bijschrift aan. Let op: Het bijschrift wordt alleen in het juiste font geprint als de code voor afbeeldings-opties na de code voor lettertypes in het document staat.

Plaatje binnenhalen

1	Haal het plaatje binnen:

1	Kies ALT-F9 - Afbeelding - Aanmaken.

2	Kies Inhoud: Afbeelding op schijf. WordPerfect neemt dan de PostScript file niet in het document op.

3	Kies Bestandsnaam: in dit geval plaatje.wps (enkel plaatje) of plaatje.ps (jobfile)

2	Pas het plaatje aan: Kies Horizontale positie: Volle breedte (bijvoorbeeld), Rechts of Links of stel hoogte of breedte handmatig in. Sleutel niet aan de verhouding tussen hoogte en breedte, maar laat dat aan WordPerfect over.

Plaatje printen

Het plaatje en het document kunnen nu geprint worden. WordPerfect kan helaas geen preview van het plaatje op het scherm laten zien. Bedenk dat het printen met plaatjes aanzienlijk langer duurt dan printen zonder plaatjes. In het geval van voorlopige uitvoer kun je WordPerfect de opdracht geven plaatjes niet te printen.

11.3	Xy plaatjes uitvoer in het Enhanced Metafile formaat

Via het pull-down menu van xywin kan via File/Create Enhanced Metafile (shortcut F6) het plaatje als een Enhanced Metafile worden uitgevoerd. Dit formaat kan direct in Word en vele andere Windows-toepassingen worden ingelezen. Omdat het een vector-formaat is, hebben de plaatjes bij elke afmeting een hoge kwaliteit.


quick reference
12	QUICK REFERENCE

In de argumenten duiden vierkante haken ([ ]) op argumenten die weggelaten mogen worden, | betekent een keuzemogelijkheid en .. betekent t/m. Tussen coordinaten (zoals in box en central_legend) moeten komma's staan. Vlaggen hebben de waarde 0 (uitzetten) of 1 (aanzetten). {J} betekent dat een opdracht uitsluitend in een jobfile gebruikt kan worden.

Opdracht	Argumenten

allmaps_coords{J}	XLinks,YOnder,Xrechts,Yboven

bitmap{J}	file.bmp [!]  [XLinks,YOnder,Xrechts,Yboven] patroon_vlag

bold

box{J}	XLinks,YOnder,XRechts,YBoven [KleurNr] [BoxType] [PatroonNr]

central_legend{J}	X,Y [grootte]

char_width	Factor

city	PlaatsNaam

colorfile	FileNaam

colors	[range|no_range][reverse|no_reverse][background]

courier

cumulative	Vlag1 [Vlag2] .. [Vlag32]

data	FileNaam KolomX KolomY [KolomZoekString ZoekString

data	FileNaam Expressies [KolomZoekString ZoekString]

date{J}	X,Y [Grootte] [TaalVlag]

default_markers	nr_1 nr_2 nr_3

department	AfdelingsCode

detection_value	[kleiner_dan_factor (default=0)] [groter_dan_factor (default=1)]

draw_area	NrOndersteLijn NrBovensteLijn [KleurNr]

draw_area	all

draw_axis

draw_bars	KleurNr1 [KleurNr2] .. [KleurNr32]

draw_bars	all

draw_bitmap	file.bmp [0|1|2]  [XLinks,YOnder,Xrechts,Yboven] patroon_vlag

draw_box

draw_date	X,Y [Grootte] [TaalVlag]

draw_dev	FileNaam KolomX KolomYmin KolomYmax [AsNr] [KleurNr] [type] [LegendaVlag] [HorizontaalVlag]

draw_expression	Expressie [Xmin] [Xmax] [AantalXWaarden]

draw_grid	[1|2|3] [LijnType] [0|1]

draw_labels	filenaam kolnr_X kolnr_Y kolnr_labels [Y-as nr] [kleurnr] [grootte] [positie]

draw_lines	LijnType1 [LijnType2] .. [LijnType9]

draw_map	XLinks,YOnder,XRechts,YBoven

draw_markers	Symbool1 [Symbool2] .. [Symbool9]

draw_polygon	PolygoonFileNaam [PolygoonType] [FileNaamPolygoonKleuren]

[logx_vlag] [logy_vlag] [labels_als_nummers_vlag]

draw_time	X,Y [Grootte]

draw_vector	[MaxSnelheid] [MaxLengte] [KleurNr] [PijlSoort]

error_value	waarde

escape=char

extra_class	KleurNr Tekst

extra_data	FileNaam KolomX KolomY [KolomZoekString] [ZoekString]

fixed_size

fixed_width

fixed_ytext	[ypositie]

font{J}	LetterType [bold] [italic] [color_KleurNr]

graph_background	KleurNr

graph_ratio	[Ratio]

helvetica

horizontal_bars

include	[conffilenaam][,startstring]

institute	InstituutsAfkorting

interrupt_lines	Vlag1 [Vlag2] ... [Vlag32]

justify_bars

justify_xlabels

landscape

legend	'Tekst 1' ['Tekst 2'] ... ['Tekst 32']

legendbox

legend_background	KleurNr

legend_columns	AantalKolommen

legend_pos	X,Y

lin_regr1	Vlag1 [Vlag2] .. [Vlag32]

lin_regr2	Vlag1 [Vlag2] .. [Vlag32]

line{J}	Xbegin,Ybegin,Xeinde,Yeinde [LijnType] [LijnDikte] [KleurNr]

line_colors	kleur_1 [kleur_2] [kleur_3] .. [kleur_32]

line_width	LijnDikte

axisline_width	LijnDikte [1|2|3]

map_axissize

map_bottom

map_res	FractieVanMaximumResolutie

map_right

marker{J}	X,Y SymboolType [MarkerGrootte] [KleurNr]

marker_size	MarkerGrootte[ MarkerGrootte MarkerGrootte etc.]

matrix_axissize

matrix_class	KleurNr [=]KlasseStart <|>|<=|>= KlasseEinde

matrix_def_class	KlasseNr

matrix_res	FractieVanMaximumResolutie

matrix_title	Tekst

matrix_xwidth	Interval

matrix_yaxis	Min [Max] [MajorDivisions] [MinorDivisions] [LabelFormat] [AsType]

matrix_yranges	AantalYKolommen

matrix_yranges	Y1Min,Y1Max [Y2Min,Y2Max] [YnMin,YnMax]

name	Instituutsnaam

no_axis

no_barlines

no_bold

no_box

no_fixed_size

no_legend

no_legendbox

north	aantal graden|Xlinks,Yonder,Xrechts,Yboven x,y [grootte]

nr_bars	AantalBars

open_graph

open_matrixlegend

ordination_axis

patterns	kleur_1,Patroon_1 [kleur_2,Patroon_2]...[Kleur_255,Patroon_99]

polygon_after

polygon_before

polygon_line	[lijntype] [lijndikte[,dikte,dikte,etc]] [lijnkleur]

polygon_value	[grootte]

portrait

print_papersize

record_length

scale_bar	[Breedte (in mapcoords)] [Hoogte (mapcoords)] [Delen] [x,y] [Text]

scaling_factor	Factor1 [Factor2] ... [Factor32]

skip	CommentaarString

skip_first_stack

stack_data

text	'Te printen tekst' X,Y [Grootte]

tics_inside

time{J}	X,Y [grootte]

times_roman

title{J}	'Te printen tekst' X,Y [Grootte]

title_1	Tekst

title_2	Tekst

title_3	Tekst

title_4	Tekst

vector_border	X-breedteBuitenGebied,Y-breedteBuitenGebied [grenslijn_vlag]

vesa	resolutie [AantalKleurenVlag]

vignet{J}	XLinks,YOnder,XRechts,YBoven [FileNaam]

xaxis_bars

x_axis	Min [Max] [MajorDivisions] [MinorDivisions] [LabelFormat] [AsType]

x_margin	Afstand

x_text	Tekst langs de X-as

x_top

xy{J}	[DataFile] [-c ConfiguratieFile] [-p|l] [-S PostScriptFile] [-W l|p] [-j jobfile]

[-i StartString] [OverigeArgumenten]

xy_columns	KolomX1,KolomY1 [KolomX2,KolomY2] ... [KolomX32,KolomY32]

y_axis	Min [Max] [MajorDivisions] [MinorDivisions] [LabelFormat] [AsType]

y1_axis	Min [Max] [MajorDivisions] [MinorDivisions] [LabelFormat] [AsType]

y1_both

y1_right

y1_text	Tekst langs de linker Y-as

y2_axis	Min [Max] [MajorDivisions] [MinorDivisions] [LabelFormat] [AsType]

y2_text	Tekst langs de rechter Y-as

y_text	Tekst langs de linker Y-as

yaxis_number	AsNr1 [AsNr2] ... [AsNr32]

zero_line	[1|2|3]

zoom	XLinks,Yonder,XRechts,Yboven


figuur 31

De volgorde van de markers, oftewel het default markertype kan worden gewijzigd. Sommige gebruikers willen bijv. standaard beginnen met rondjes als markertype. Hiertoe dient de opdracht default_markers. Deze opdracht heeft alleen zin in de file xy_def.set, bijv.:

default_markers 7 3 1 2 10 16 12

Dit heeft als effect dat als niets wordt opgegeven, voor data serie 1 marker 7 genomen wordt, voor serie 2 marker 3, etc. Voor de overige markers worden de standaard markers gekozen (in dit geval nr. 8-16).


Voorbeeld 1

y_axis 0 10 5 ! ! !


Voorbeeld 2

Maak een standaard plaatje met de data in xy.dat:

xy xy.dat

Stuur dit plaatje naar de printer (portrait formaat):

xy xy.dat -p

Bewaar de PostScript file, zodat je deze in WordPerfect kunt binnen halen:

xy xy.dat -p -S figuur1.ps

Lees instellingen (bijvoorbeeld as minimum en maximum) vanuit een file figuur1.set:

xy xy.dat -c figuur1.set

Teken het plaatje met zowel symbolen als lijnen:

xy xy.dat -b

Stuur dit plaatje naar de printer:

xy xy.dat -bp

Lees alle instellingen (inclusief de datafile) vanaf de configuratiefile

en bewaar de PostScript file om deze binnen te kunnen halen in WordPerfect.

De figuur wordt in landscape formaat aangemaakt:

xy -c figuur1.set -S figuur1.wps -l


Voorbeeld 3

Een standaard XY plaatje.

De datafile ziet er als volgt uit:

120.0	2.371	2.599

121.0	  -	2.628

122.0	  -	2.656

123.0	2.342	2.616

etc.

XY is als volgt aangeroepen:

XY fig1.dat


Voorbeeld 4

In dit plaatje wordt dezelfde datafile gebruikt. Omdat tijdens het starten van XY de -b optie is opgegeven, worden ook markers geplot (b staat voor `beide'):

XY fig1.dat -b


Voorbeeld 5

Nogmaals hetzelfde plaatje, maar nu heeft de gebruiker de optie -m (teken uitsluitend markers) opgegeven.

XY fig1.dat -m


Voorbeeld 6

In het plaatje hiernaast staan dezelfde data als in Afbeelding 1. XY is als volgt aangeroepen:

xy -c fig4.set fig4.dat

De inhoud van fig4.set staat hieronder. Het aanmaken van superscript wordt uitgelegd in Hoofdstuk 5.3.1.

x_text Dag nummer

y_text water content (m^P3^P m^P-3^P)

draw_lines 0 1

draw_markers 3 0

legend Meting Simulatie


Voorbeeld 7

* Y as minimum is 0, maximum is default en er worden 4 tics getekend:

   y_axis  0 ! 4


Voorbeeld 8

* Teken standaard een kader met het vignet etc. (identiek aan optie -v in de argumenten-lijst)

  draw_box


Voorbeeld 9

* De escape code is het teken &

escape=&

y_text Ca&P2+&P

title_1 SO&B4&P2-&P&B


Voorbeeld 10

* Plot de tekst Ca2+ (æg dm-3)

* De escape code is het teken &

escape=&

y_text Ca&P2+&P (&Sm&Sg dm&P-3&P)


Voorbeeld 11

* De X as en de Y as lopen van 0 tot 5. Het plaatje moet vierkant zijn.

x_axis 0 5 ! ! ! !

y_axis 0 5 ! ! ! !

graph_ratio 1


Voorbeeld 12

* In dit voorbeeld wordt gebruik

* gemaakt van de mogelijkheid letters

* groter weer te geven (char_width).

* Verder worden teksten langs de

* assen geplaatst. Optie draw_lines

* en draw_markers staan in hoofd-

* stuk 581 besproken.

* Dit is de setfile:

title_1 Cl^P-^P fluxen

draw_lines 0

draw_markers 3

x_text (in doorval)

y_text (in litter percolaat)

char_width 1.25


Voorbeeld 13

* Hetzelfde plaatje, maar nu met een veranderde lay-out. Het plaatje is

* vierkant gemaakt (graph_ratio), de as minima en maxima zijn ingesteld,

* er wordt een grid getekend (draw_grid) en de tics worden aan

* de binnenzijde geplaatst.

title_1 Cl^P-^P fluxen

draw_lines 0

draw_markers 3

x_text (in doorval)

y_text (in litter percolaat)

marker_size 0.5

x_axis 0 60 6

y_axis 0 60 6

graph_ratio

tics_inside

draw_grid


Voorbeeld 14

* Hetzelfde plaatje, maar nu met een achtergrondskleur en zonder grid.

* Bij het gebruik van een kleurenprinter kun je ook kleuren kiezen.

* Voor duidelijkheid is hier een andere marker gekozen (nummer 7).

title_1 Cl^P-^P fluxen

draw_lines 0

draw_markers 7

x_text (in doorval)

y_text (in litter percolaat)

marker_size 0.5

x_axis 0 60 6

y_axis 0 60 6

graph_ratio

tics_inside

graph_background 14


Voorbeeld 15

* Datareeksen van verschillende lengte in een matrixfile

1.0	1.2	1.1

2.0	1.5	2.7

3.0	-	2.5


Voorbeeld 16

* Het getal -999 wordt als identificatie voor foutieve waarden beschouwd:

error_value -999


Voorbeeld 17

* Regels die met de string comment beginnen moeten worden overgeslagen

skip comment


Voorbeeld 18

* Gegevens worden geselecteerd uit twee databestanden (sotras.out en meting.dat)

* Uit sotras.out willen we kolom 4 als functie van kolom 1 plotten als in kolom 2 de

* string cliq_pest voorkomt. Uit meting.dat willen we kolom 5 tegen kolom 1 plotten.

* De data kommando's zijn dan als volgt:

data sotras.out 1 4 2 cliq_pest

data c:\schaik\meting.dat 1 5


Voorbeeld 19

* In dit voorbeeld worden uit lange files alleen gegevens voor het tweede jaar geselecteerd.

* M.a.w.: Als het dagnummer in kolom 1 groter is dan 365 en kleiner is dan 731.

* Bovendien wordt gezocht op de deelstring cliq in plaats van de hele string:

data sotras.out 1 3 2 ?cliq 1 +365 1 -731

data c:\schaik\meting.dat 1 5 1 +365 1 -731


Voorbeeld 20

* Gebruik van data selectie en manipulatie van de invoer (data opdracht). Beide dataseries

* worden uit verschillende datafiles (01z08oa.out en apv2.dep) gelezen. In de file 1z08oa.out

* staat (H+) volgens de volgende opmaak (conversie van m3 naar dm3 is nodig):

cH	[molc/m3]	0.2293  1960  1   Z08  OA   0

* File apv2.dep ziet er als volgt uit:

1950	1	H	2850.74    eq/ha/yr

* Dit is de setfile:

data 01z08oa.out 4 -log10(0.001*$3) 1 cH 8 1

data apv2.dep 1 4 3 H 2 1

x_axis 1960 2040 4

y1_axis 0 6000 6

y2_axis 3.5 4.5 5 ! %5.1f

yaxisnumber 2 1

legend 'pH' 'H^P+^P depositie'

legend_pos l,t


Voorbeeld 21

* Selecteer drie dataseries uit de file sotras.out.

* De X kolom is identiek voor alle dataseries

data sotras.out 1 3 2 cliq_pest

data sotras.out ! 4 2 cliq_pest

data sotras.out ! 5 2 cliq_pest


Voorbeeld 22

* We maken twee plaatjes achter elkaar met gegevens uit dezelfde (grote) file. Bij het maken

* van eerste plaatje selecteren we ook de gegevens voor het tweede plaatje. In het tweede

* plaatje moeten de kolomnummers met de xy_columns opdracht worden toegekend aan de

* dataserie:

data sotras.out 1 4 2 cliq_pest

extra_data sotras.out ! 4 2 ctot_pest

* `data.xy' krijgt de volgende vorm: X-waarde cliq_pest ctot_pest

* In de configuratiefile van het tweede plaatje (plaatje2.set) moet dan de volgende regel

* staan:

xy_columns 1,3

* en xy moet als volgt worden aangeroepen: xy -c plaatje2.set data.xy


Voorbeeld 23

* De ingelezen gegevens staan in kg. In het plaatje willen we mg gebruiken:

scaling_factor 1E6


Voorbeeld 24

* De gegevens in dataserie 1 worden cumulatief uitgezet, de gegevens in kolom 2 normaal.

cumulative 1 0


Voorbeeld 25

* In 10 staan de gegevens `normaal' uitgezet, in 11 cumulatief.

* In de linker afbeelding worden staafjes geplot, in het rechter diagram gewoon lijnen. * Let ook op het gebruik van de mogelijkheid om de legenda elders te plaatsen en

* het aantal rijen in de legenda aan te passen.

Plaatje LINKS	Plaatje RECHTS

xy_columns 1,3 1,5 1,6	xy_columns 1,3 1,5 1,6

legend 'Regen' 'Sneeuw' 'Temperatuur'	legend 'Regen' 'Sneeuw' 'Temperatuur'

legend_pos m,T1	legend_pos m,T1

draw_bars 1 3 0	cumulative 1 1 0

draw_lines 0 0 1	text '(cumulatief uitgezet)' m,T2

text 'mm d^P-1^P' L,T2	text 'mm d^P-1^P' L,T2

text '^Po^PC' Rr,T2	text '^Po^PC' Rr,T2

yaxis_number 1 1 2	yaxis_number 1 1 2


Voorbeeld 26

* Teken twee lineaire regressielijnen. Bij de eerste lijn worden de eerste 3,

* bij de tweede lijn de laatste drie dataseries betrokken

lin_regr1 1 1 1 0 0 0

lin_regr2 0 0 0 1 1 1


Voorbeeld 27

* Lineaire regressie tussen de waarden uit 8. De setfile staat bij dat plaatje beschreven. Voor

* regressie hoeft uitsluitend de volgende regel aan te worden toegevoegd:

lin_regr1 1

* De resultaten van de regressie worden geschreven naar de file lin_regr.xy:

Regression 1:

y = 11.6052 + 0.577419x

No. of observations = 14

R square = 0.207881

Standard error of coef = 0.325378


Voorbeeld 28

* Gebruik van title_3 en title_4. Beide opties werken alleen in combinatie met optie draw_box

* (zie hoofdstuk 6). Dit soort plaatjes zijn geschikt voor archivering (de tijd alsmede de

* gebruikte files worden standaard geplot).

x_text Dag nummer

text 'water content' L,T2

draw_lines 0

draw_markers 3

legend Meting Simulatie

draw_box

title_3 Bron: Tiktak en Bouten, 1994

title_4 (geaccepteerd voor J Hydrology)

legend_pos L,T


Voorbeeld 29

data fig13.dat 1 2

data fig13.dat 1 3

draw_labels fig13.dat 1 3 4 2 ! m2.5

text 'rainfall (mm)' Rr,T1.5 3

text 'temperature (^Po^PC)' L,T1.5 3

text 'Numbers ...' m,B1.2 3

legend temperature rainfall

legend_pos m,B6

legend_columns 2

draw_bars  0 1

draw_lines 1 0

draw_markers 3 0

yaxis_number 1 2

x_axis 1 12 ! ! 'j f m a m j j a s o n d'

y1_axis -5 20 5

y2_axis -30 120 5 ! '- 0 30 60 90 120'

zero_line

no_legendbox


Voorbeeld 30

* Gewone instelling (mimimum onder; maximum boven):

y1_axis -100 0

* `Omgedraaide as':

y1_axis 0 -100

* Voorwaardelijk minimum:

y1_axis 0? 100


Voorbeeld 31

* As minimum -100, as maximum 0, aantal major div. 10, aantal minor div. 2:

y1_axis -100 0 10 2 ! !


Voorbeeld 32

x_axis 1 365 12 4 %5.0f !


Voorbeeld 33

* Langs de as worden de namen van de maanden geplot.

* De X-coordinaten zijn dagnummers; de X as loopt dus van 1 tot 365

* Per week wordt één onderverdeling gemaakt (in het vierde veld staat 4)

x_axis 1 365 ! 4 'Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec'


Voorbeeld 34

data fig14.dat 1 6

data fig14.dat 1 10*$3

data fig14.dat 1 10*$4

draw_bars 0 1 3

draw_lines 1 0 0

x_axis 0 90 ! ! 'jan feb mar'

y1_axis -30 30 6 0 '- - - 0 10 20 30'

y2_axis -15 15 6 0 %3.0f

yaxis_number 2 1 1

legend Temperatuur Regen Sneeuw

legend_pos m,T-2

legend_columns 1

text '(mm)' L,T2

text '(^Po^PC)' Rr,T2

zero_line

draw_grid 2

x_margin 0.05


Voorbeeld 35

* Gebruik van optie x_top. De X-as is in dit geval

* logaritmisch (laatste getal in de x_axis is een 1). Let

* ook op de mogelijkheden een legenda een kleur te

* geven (optie graph_background) en een as te

* draaien (y1_axis: eerste Ymin > Ymax).

data fig14.dat 2 1

data fig14.dat 3 1

data fig14.dat 4 1

x_axis 1e-3 1000 6 ! ! 1

x_top

y1_axis 150 0 5

x_text hydraulic conductivity (cm d^P-1^P)

y_text depth (cm)

legend '-1 kPa' '-3 kPa' '-10 kPa'

legend_pos R-1r,B1

legend_background 14


Voorbeeld 36

data fig16.dat 3 4 5 c

data fig16.dat 3 4 5 a

data fig16.dat 3 4 5 b

y_axis -0.8 0.8 8 ! ! !

x_axis -0.8 0.8 8 ! ! !

draw_lines 0 0 0

draw_markers 3 7 8

graph_ratio

ordination_axis

legend 'control' '300 kg' '900 kg'

legend_pos l,b2

title_1 liming of an oak stand

title_2 (a field experiment)

y1_right

no_legendbox


Voorbeeld 37

* dataserie 1: doorgetrokken lijn

* dataserie 2: streeplijn en een plusje

* dataserie 3: alleen een rondje

draw_lines 1 2 0

draw_markers 0 2 4


Voorbeeld 38

* Dataserie 1 bevat 365 punten. De staafjes moeten twee keer zo small geplot

* worden als standaard.

* Daartoe moet in opdracht nr_bars 2 * het aantal datapunten staan.

nr_bars 730


Voorbeeld 39

* Een areagraph in combinatie met

* stacked data. Er is gebruik

* gemaakt van de colorfile optie

* om de kleuren te wijzigen. Let ook

* op het gebruik van fonts.

xy_columns 1,2 1,3 1,4 1,5

draw_area all

stack_data

colorfile afb19.col

y1_axis 0 30 3

x_text tijd (h)

font italic

text 'Vrijgekomen ...etc.' m,T12 3.5

text '(molc m-3)' m,T7.0 3.5

text '(bron: ... etc.)' m,T2.0 3.5

font normal

legend 'door.. etc.

legend_pos L2,T1


Voorbeeld 40

* Gebruik van draw_dev voor een

* aantal dataseries. Let op het

* gebruik van optie nr_bars .

text 'Gemiddelde ... etc' m,T12 3

text 'diepte ... etc.' m,T7 3

font italic

text '95% ... etc.' m,T2 2.5

x_axis 0 20 ! ! 'zand ... etc.'

y1_axis 5 8 6 ! %4.1f

y1_text zuurgraad (pH-eenh)

draw_grid

draw_dev dev.dat 1 2 3 ! 7 3

draw_dev dev.dat 4 5 6 ! 8 3

draw_dev dev.dat 7 8 9 ! 4 3

draw_dev dev.dat 10 11 12 ! 11 3

legend_pos m,B1

nr_bars 25


Voorbeeld 41

* Voorbeelden van het weergeven van spreidingsmaten.

* In het linker plaatje staat een voorbeeld van het weergeven van spreiding m.b.v. verticale

* staafjes, in het rechter plaatje wordt de spreiding m.b.v. een vlak weergegeven

* (draw_area). Bij het tekenen van een vlak, wordt het vlak en niet de omliggende lijnen

* in de legenda gezet. In het linker plaatje is m.b.v. de x_margin opdracht wat vrije ruimte

* langs de X-as gereserveerd.

LINKS:	RECHTS:

data fig20.dat 1 2	data fig20.dat 1 3

data fig20.dat 1 3	data fig20.dat 1 4

draw_lines 0 1 1	data fig20.dat 1 5

draw_markers 3	draw_lines 1 1 1

draw_dev fig20.dat 1 4 5 1 2	draw_area 2 3 3 1

legend meting simulatie	legend simulatie 'meting ...'

y_axis 1 4 3 2 %3.0f	y_axis 1 4 3 2 %3.0f

x_axis 120 210 3 ! 'mei juni juli'	x_axis 120 210 3 ! 'mei juni juli'

title_1 pF	title_1 pF

legend_pos L,T	legend_pos L,B

x_text maand	x_text maand

x_margin 0.05	draw_grid 2

draw_grid 2


Voorbeeld 42

draw_expression 4.43*x/(13+x)+(1.3e-3*x)-7.4e-5 0 300

draw_expression 13.15*x/(4.9+x)+(0.015*x)+0.019 0 100

draw_expression 13.15*x/(4.9+x)+(0.018*x)+0.019 0 200

draw_expression 14.30*x/(5.2+x)+(0.017*x)+0.025 0 300

x_axis 0 300 3

y1_axis 0 30 3

x_text tijd (h)

text 'Voorbeeld van ...' L,T8

text '(mol m^P-3^P h^P-1^P)' L,T2

legend 'uitwisseling' 'amorf' 'kristallijn' 'overig'

legend_columns 1

legend_pos l,t


Voorbeeld 43

* Plot markers boven de punten van

* de tweede data serie.

data peelexp.dat 3*$3 3*$4 5 b

data p.dat 4 5

draw_labels p.dat 4 5 2 ! ! 2.5 m3

draw_lines 0 0

draw_markers 3 7

graph_ratio 1

ordination_axis

marker_size 0.5

y_axis -2.4 2.4 8 ! %4.1f !

x_axis -2.4 2.4 8 ! %4.1f !

legend '900 kg ha^p-1^p' species

legend_pos l-5,b

title_1 liming of an oak stand

title_2 (a field experiment)


Voorbeeld 44

* Y-as minimum 0, maximum 100, aantal tics 10, in labels geen plaatsen achter de komma:

matrix_yaxis 0 100 10 5 %3.0f 0

y1_both


Voorbeeld 45

* In combinatie met bovenstaande as worden 10 kolommen gedefinieerd.

* De eerste kolom staat voor 0-10, de tweede voor 10-20, etc.

matrix_yranges 10

* In de volgende opdracht zijn er 5 kolommen. De eerste loopt van 0-10, de tweede

* van 10-25, de volgende van 25-50, vervolgens 50-75 en de laatste van 75 t/m 100:

matrix_yranges 0,10 10,25 25,50 50,75 75,100


Voorbeeld 46

matrix_title conc. of pesticide (g/l)


Voorbeeld 47

matrix_yaxis 100 0 10 2 !

x_axis 0 1460 ! ! '1980 1981 1982 1983'

x_text Jaar

matrix_yranges 0,5 5,10 10,15 15,20 20,25 25,30 30,35 35,40 40,45 45,50 50,55 55,60 60,70 70,80 80,90

matrix_xwidth 1

colors background

matrix_xres 0.1

matrix_class 1  - < 0.1

matrix_class 2  0.1 < 1

matrix_class 3  1 <  5

matrix_class 4  5 <  10

matrix_class 5  10 <  20

matrix_class 6  20 <  30

matrix_class 7  30 <  40

matrix_class 8  40 <  50

matrix_class 9  50 <  75

matrix_class 10  75 <  100

matrix_class 11 100 <  -

title_1 Concentratie van pesticide (als f(z,t))

title_2 Depth (cm)

matrix_title cliq (^Sm^Sg l^P-1^P)

text 'Berekeningen:' L2,B5 2

text 'model SOTRAS' L2,B2 2

legend_pos Rr,T-3


Voorbeeld 48

* Coördinaten in m, breedte im m, vierkante cellen, kaartbestand landuse.dat

* De linker kant heeft coördinaat 0 km, de onderkant 300 km, de rechter kant 280 km en de

* bovenkant 625 km. De grootte van de cellen is 500 bij 500 m.

draw_map 0,300000,280000,625000 landuse.dat 500


Voorbeeld 49

* Er zijn 3 klasses, n.l. akkerland, weiland en natuur

* Akkerland heeft waarde 1 in de grid kaart, weiland waarde 2 en natuur waarde 3.

* Steden staan in de datafile aangegeven met de codering C4

matrix_title Landgebruik

matrix_class 1 0.5 < 1.5 Akkerland

matrix_class 2 1.5 < 2.5 Weiland

matrix_class 3 2.5 < 3.5 Natuur

extra_class -1 Overig

extra_class 4 'Bebouwd gebied'


Voorbeeld 50

* print een kaartje met een kwart van de maximum resolutie (is 75 dpi)

map_res 0.25


Voorbeeld 51

* Gebruik de kleurenfile neerslag.col

* We willen gebruiken maken van range kleuren (van rood naar blauw)

colorfile neerslag.col

colors range

* In de file neerslag.col staan o.a. de volgende regels:

firstclass 1 0 0

lastclass 0 0 1


Voorbeeld 52

colorfile mycolor

text 'Bodemtype' L,T5 2

text '(afgeleid uit de bodemkaart 1:250000, Winand Staring Centrum, 1985)' L,T2 1.2

matrix_title dominante bodemtypes

matrix_class 1 0 <= 1 'veen'

matrix_class 2 1 <= 2 'zand'

matrix_class 3 2 <= 3 'zeeklei'

matrix_class 4 3 <= 4 'rivierklei'

matrix_class 5 5 <= 6 'leem'

extra_class -1 'onbekend'

draw_map 0,300000,280000,625000 soiltype.map 500

draw_polygon grens.pol

draw_polygon west.pol

draw_polygon rivier.pol

error_value 0

legend_pos L1,T-1

char_width 0.7


Voorbeeld 53

* De gebruiker wil de Nederlandse provincies tekenen. In de configuratiefile staan daarvoor

* de volgende twee opdrachten (de polygonen worden gevuld):

draw_map 0,300000,280000,625000

draw_polygon provinc.dat 3 provinc.col

* provinc.dat bevat polygonen groningen, friesland, etc.

* De polygoonkleurenfile ziet er dan als volgt uit:

groningen	C1

friesland	C2

* etc.


Voorbeeld 54

* Voorbeeld van een polygoonkaaartje.

draw_map 0,300000,280000,625000

draw_polygon provinci.pol 3 bmwca10.dat

text 'De hoeveelheid ...' m,T5 2.5

text '(volgens opgave VROM-BMWca)' m,T2 1.5

matrix_class 1 - = 0 "    0"

matrix_class 2 0 < 1

matrix_class 3 1 < 5

matrix_class 4 5 < 10

matrix_class 5 10 < -

colors range

legend_pos l1,t-1

matrix_title (kton)


Voorbeeld 55

* Bij bovengenoemd kaartje wil de gebruiker de namen van de provincies

* in de legenda zetten

extra_class 1 Groningen

extra_class 2 Friesland

* etc.


Voorbeeld 56

draw_map 0,300000,280000,625000 landuse.dat 500

polygon_before

draw_polygon provinc.dat 1 provinc.col


Voorbeeld 57

* Een snelheidsveld

draw_vector

graph_ratio 1

open_graph

graph_background 14

text 'Snelheidsver ...' m,T7.5 3.2

text 'tot stand gebracht...' m,T2 3.2


Voorbeeld 58

* Teken een legenda in het midden gecentreerd en bovenaan

central_legend m,95

* Teken een legenda rechts gecenteerd vanaf positie 83

central_legend 83r,95


Voorbeeld 59

* Definieer 4 plaatjes op één pagina; n.l. plaatje 1 in het kwadrant links-onder,

* plaatje 2 in het kwadrant links-boven, plaatje 3 in het kwadrant rechts-onder en plaatje 4

* in het kwadrant rechts-boven:

xy -c plaatje1.set -V 0,0,50,50

xy -c plaatje2.set -V 0,50,50,100

xy -c plaatje3.set -V 50,0,100,50

xy -c plaatje4.set -V 50,50,100,100


Voorbeeld 60

* Teken een centrale legenda gecentreerd boven het plaatje:

central_legend m,95 4.5


Voorbeeld 61

xy -x -c fig2.job  -V 0,67.75,100,98.75 -i figureA

xy -x -c fig2.job  -V 0,45.50,100,76.50 -i figureB

xy -x -c fig2.job  -V 0,23.25,100,54.25 -i figureC

xy -x -c fig2.job  -V 0,1,100,32 -i figureD

title '1989' 17.5,1.5 1.1

title '1990' 72.0,1.5 1.1

title 'bron: Tiktak & Bouten (1994)' 17,96 1.1

figureA

data fig2a.dat 1 10*$2

data fig2a.dat 1 10*$3

data fig2a.dat 1 10*$5

data fig2a.dat 1 10*$4

title_1 a) water content (mm) of the top soil

y_axis 25 125 4 2 %5.0f

x_axis 60 420 ! ! '- - - - - - - - - - - -'

draw_lines 2 3 4 5 0 0

draw_markers 0 0 0 0 3 5

legend '1' '2' '3' '4' 'NP' 'T'

legend_pos Rr,B

end

figureB

data fig2b.dat 1 10*$2

data fig2b.dat 1 10*$3

data fig2b.dat 1 10*$5

data fig2b.dat 1 10*$4

title_1 b) water content (mm) of the sub soil

y_axis 0 100 4 2 %5.0f

x_axis 60 420 ! ! '- - - - - - - - - - - -'

draw_lines 2 3 4 5 0 0

draw_markers 0 0 0 0 3 5

legend '1' '2' '3' '4' 'NP' 'TDR'

legend_pos Rr,B

end

figureC

data fig2c.dat 1 2

data fig2c.dat 1 3

data fig2c.dat 1 5

data fig2c.dat 1 4

title_1 c) pF at 15 cm depth

y_axis 1 4 3 2 %5.0f

x_axis 60 420 ! ! '- - - - - - - - - - - -'

draw_lines 2 3 4 5 0 0

draw_markers 0 0 0 0 3 5

legend '1' '2' '3' '4' 'TM'

legend_pos Rr,T

end

figureD

data fig2d.dat 1 2

data fig2d.dat 1 3

data fig2d.dat 1 5

data fig2d.dat 1 4

data fig2d.dat 1 6

title_1 d) pF at 60 cm depth

y_axis 1 4 3 2 %5.0f

x_axis 60 420 ! ! 'M A M J J A S O N D J F'

draw_lines 2 3 4 5 0 0

draw_markers 0 0 0 0 3 5

legend '1' '2' '3' '4' 'TM'

legend_pos Rr,T

end


Voorbeeld 62

* File xycolor.set

pennumber 	red	green	blue

background 	0.8	0.7	0.6	beige (bij kleuren Postscript wit!!)

textcolor  	0.0 	0.0	0.0	zwart

firstclass   	0.1	0.6	0.7	blauw

lastclass    	0.9	0.2	0.1	rood

1      	0.0	0.5	0.6	blauw

2   	0.8	0.0	0.0	donkerrood

3	0.6	0.5	0.4	bruin

4       	0.8	0.6	0.3	oker

5         	0.5	0.7	0.3	groen

6          	0.8	0.5	0.5	oud-rose

postscript

background 	0.0	0.0	0.0	wit

textcolor  	1.0	1.0	1.0	zwart

firstclass   	1.0	1.0	1.0	zwart

lastclass    	0.0	0.0	0.0	wit


Voorbeeld 63

* De gebruiker wil, in het geval van een bar_graph op het scherm een vloeiend verloop van

* rood naar blauw. In de kleurenfile staat firstclass op blauw en lastclass op rood.

* De volgende opdrachten staan in de configuratiefile:

colors range reverse