GREG tutorial: I. Basics
Transcript of GREG tutorial: I. Basics
![Page 1: GREG tutorial: I. Basics](https://reader030.fdocuments.in/reader030/viewer/2022012407/616a23d811a7b741a34f3bf0/html5/thumbnails/1.jpg)
GREG tutorial: I. Basics
Presentation by
Sebastien BARDEAU & Jerome PETY
(IRAM/Grenoble)
Current kernel developers: Jerome PETY,
Sebastien BARDEAU, & Stephane GUILLOTEAU
on behalf of the GILDAS developers over time
July 2019, IRAM/Granada
![Page 2: GREG tutorial: I. Basics](https://reader030.fdocuments.in/reader030/viewer/2022012407/616a23d811a7b741a34f3bf0/html5/thumbnails/2.jpg)
Table of contents
Need Help (bis)?
I. Browsing the widgets
II. Demonstration procedures
First plots
I. Basics
II. 1D data
III. Changing pen attributes
IV. 2D data
V. Changing Look-Up-Table
VI. 3D data
Hardcopies
Controlling the position of your plots on the page
I. Basics
II. Easy way
GREG tutorial: I. Basics S. Bardeau & J. Pety 2019
![Page 3: GREG tutorial: I. Basics](https://reader030.fdocuments.in/reader030/viewer/2022012407/616a23d811a7b741a34f3bf0/html5/thumbnails/3.jpg)
Need help (bis)?
GREG tutorial: I. Basics S. Bardeau & J. Pety 2019
![Page 4: GREG tutorial: I. Basics](https://reader030.fdocuments.in/reader030/viewer/2022012407/616a23d811a7b741a34f3bf0/html5/thumbnails/4.jpg)
Need help (bis)? I. Browsing the widgets
PDF document opened in your PDF viewer: Web pages opened in your web browser:
Online HELP displayed in the terminal window:
GREG tutorial: I. Basics S. Bardeau & J. Pety 2019
![Page 5: GREG tutorial: I. Basics](https://reader030.fdocuments.in/reader030/viewer/2022012407/616a23d811a7b741a34f3bf0/html5/thumbnails/5.jpg)
Need help (bis)? II. Demonstration procedures
Demo executed in the terminal and/or the plotting window:
I-DEMO, Executing demonstration procedure@ gag_demo:demo-polygon.greg
GREG> type gag_demo:demo-polygon.greg
GREG> ed gag_demo:demo-polygon.greg
GREG tutorial: I. Basics S. Bardeau & J. Pety 2019
![Page 6: GREG tutorial: I. Basics](https://reader030.fdocuments.in/reader030/viewer/2022012407/616a23d811a7b741a34f3bf0/html5/thumbnails/6.jpg)
First plots
GREG tutorial: I. Basics S. Bardeau & J. Pety 2019
![Page 7: GREG tutorial: I. Basics](https://reader030.fdocuments.in/reader030/viewer/2022012407/616a23d811a7b741a34f3bf0/html5/thumbnails/7.jpg)
First plots I. BasicsGREG> limits 0 10 0 1 ! Define X and Y rangesGREG> box ! Draw a box at default location
GREG> set marker 4 3 0.5 0 ! Custom marker (square, filled, size 0.5cm, angle 0)GREG> draw marker 2 0.8 /user ! Draw 1 marker at these user coordinates
GREG> draw relocate 2 0.6 /user ! Move pen to this position (nothing drawn)GREG> draw line 6 0.6 /user ! Draw a line from previous position to this position
GREG> draw relocate 2 0.4 /user ! Move pen to this position (nothing drawn)GREG> draw arrow 6 0.4 /user ! Draw an arrow from previous position to this position
GREG> draw text 2 0.2 "Hello, world!" /user ! Draw text centered at this position
GREG tutorial: I. Basics S. Bardeau & J. Pety 2019
![Page 8: GREG tutorial: I. Basics](https://reader030.fdocuments.in/reader030/viewer/2022012407/616a23d811a7b741a34f3bf0/html5/thumbnails/8.jpg)
First plots II. 1D data
Load the data in two X and Y arrays, use e.g.COLUMN command:GREG> type values.dat! X Y
1 0.52 0.83 0.64 0.5
GREG> column X 1 Y 2 /file values.datGREG> examine nxyNXY = 4 ! Integer GLOBAL ROGREG> examine x yX is a double precision Array of dimensions 4
1.00000000000000000 2.000000000000000003.00000000000000000 4.00000000000000000
Y is a double precision Array of dimensions 40.50000000000000000 0.800000000000000000.60000000000000000 0.50000000000000000
Plot these vectors:GREG> clear ! Erase the previous plotGREG> limits /var x y ! Automatic limits from X and Y with 5% marginsGREG> boxGREG> connect x y ! Connect the values with current penGREG> points x y ! Draw points with current marker
GREG tutorial: I. Basics S. Bardeau & J. Pety 2019
![Page 9: GREG tutorial: I. Basics](https://reader030.fdocuments.in/reader030/viewer/2022012407/616a23d811a7b741a34f3bf0/html5/thumbnails/9.jpg)
First plots III. Changing pen attributes
GREG> clearGREG> pen /colour redGREG> box ! Red boxGREG> pen /colour blue /dash 2GREG> connect x y ! Dashed blue lineGREG> pen /colour lime_greenGREG> points x y ! Green markersGREG> pen /default ! Revert to defaults
Get the exhaustive list of colours with:
GREG> pen /colour ?
or execute demo:Widget > Demos > Greg > Pencil colour names
GREG tutorial: I. Basics S. Bardeau & J. Pety 2019
![Page 10: GREG tutorial: I. Basics](https://reader030.fdocuments.in/reader030/viewer/2022012407/616a23d811a7b741a34f3bf0/html5/thumbnails/10.jpg)
First plots IV. Pen colours
GREG tutorial: I. Basics S. Bardeau & J. Pety 2019
![Page 11: GREG tutorial: I. Basics](https://reader030.fdocuments.in/reader030/viewer/2022012407/616a23d811a7b741a34f3bf0/html5/thumbnails/11.jpg)
First plots V. 2D data
Load the image in the RG (Regular Grid) buffer:
GREG> clear ! Erase the previous plotGREG> image gag_demo:centaurus.gdf ! Load demo image in RG bufferW-GREG3, Defining GREG3 variablesW-GDF, UNKNOWN Velocity type defaulted to LSRI-GIO_RIH, File is [EEEI to IEEE] , Header Version 1 (32 bit)
Plot the RG buffer:
GREG> limits /rg ! Automatic limits from RG descriptionGREG> set box match ! Best box matching X and Y scalesGREG> plot ! Plot the RG bufferGREG> box /absolute ! Overlay the box with absolute coordinatesGREG> wedge ! Add the colour scale on right side
GREG tutorial: I. Basics S. Bardeau & J. Pety 2019
![Page 12: GREG tutorial: I. Basics](https://reader030.fdocuments.in/reader030/viewer/2022012407/616a23d811a7b741a34f3bf0/html5/thumbnails/12.jpg)
First plots VI. Changing Look-Up-Table
Do not CLEAR current PLOT, just use command LUT:GREG> lut colorGREG> lut smoothGREG> lut black⇒ dynamically updated!
Get the exhaustive list of Look-Up-Tables with:GREG> lut ?
GREG tutorial: I. Basics S. Bardeau & J. Pety 2019
![Page 13: GREG tutorial: I. Basics](https://reader030.fdocuments.in/reader030/viewer/2022012407/616a23d811a7b741a34f3bf0/html5/thumbnails/13.jpg)
First plots VII. 3D data
Basic support : plot one plane at a time.
GREG> image lj-meth1.lmv-clean /plane 135
Advanced support : use integrated tools to display channel maps (GO BIT), interactive explo-ration (GO VIEW), and many more ⇒ see Greg 3D presentation.
GREG tutorial: I. Basics S. Bardeau & J. Pety 2019
![Page 14: GREG tutorial: I. Basics](https://reader030.fdocuments.in/reader030/viewer/2022012407/616a23d811a7b741a34f3bf0/html5/thumbnails/14.jpg)
Hardcopies
GREG tutorial: I. Basics S. Bardeau & J. Pety 2019
![Page 15: GREG tutorial: I. Basics](https://reader030.fdocuments.in/reader030/viewer/2022012407/616a23d811a7b741a34f3bf0/html5/thumbnails/15.jpg)
Hardcopies
The plot in the current plotting window can be exported to an output file with the commandHARDCOPY, e.g.
GREG> hardcopy test.ps /device psI-HARDCOPY, test.ps createdGREG> hardcopy test.ps /device ps ! No overwrite by defaultE-HARDCOPY, File test.ps already existsGREG> hardcopy test.ps /device ps /overwrite ! Allow overwriteI-HARDCOPY, test.ps created
Supported devices are:
• PostScript (PS) and PDF (PDF), vectorial, well suited for printing,
• Encapsulated PostScript (EPS) and “Encapsulated” PDF (EPDF), vectorial, well suited forinclusion in LaTeX/PDF documents,
• Portable Network Graphics (PNG), bitmap,
• Scalable Vector Graphics (SVG), vectorial, well suited for inclusion in web page.
Pros/cons:
• Vectorial formats:⊕ no resolution loss, the richer the plot the larger the file,
• Bitmap formats:⊕ lossless compression, limited size even for rich plots, limited resolution.
GREG tutorial: I. Basics S. Bardeau & J. Pety 2019
![Page 16: GREG tutorial: I. Basics](https://reader030.fdocuments.in/reader030/viewer/2022012407/616a23d811a7b741a34f3bf0/html5/thumbnails/16.jpg)
Controlling the position of yourplot on the page
GREG tutorial: I. Basics S. Bardeau & J. Pety 2019
![Page 17: GREG tutorial: I. Basics](https://reader030.fdocuments.in/reader030/viewer/2022012407/616a23d811a7b741a34f3bf0/html5/thumbnails/17.jpg)
Controlling the position of your plot on the page
I. Basics
set plot page Arg(s) LANDSCAPE shortcut for lanscape A4, PORTRAIT shortcut for portraitA4, X Y for custom plotting page.
set box location Gx1 Gx2 Gy1 Gy2 Define the X and Y coordinates of the box in physical unitsof the paper page (default A4 in landscape mode: 0 ≤ Gx1 and Gx2 ≤ 30 cm, and 0 ≤ Gy1and Gy2 ≤ 21 cm).
set viewport Px1 Px2 Py1 Py2 Same ”set box location” but the coordinates are given in termsof fraction of the plot page, i.e., 0 ≤ Px1 and Px2 ≤ 1.0, and 0 ≤ Py1 and Py2 1.0.
Advantage Extremely flexible.
Inconvenient Imply many human computations.
GREG tutorial: I. Basics S. Bardeau & J. Pety 2019
![Page 18: GREG tutorial: I. Basics](https://reader030.fdocuments.in/reader030/viewer/2022012407/616a23d811a7b741a34f3bf0/html5/thumbnails/18.jpg)
Controlling the position of your plots on the page
II. Easy way: 1. Syntax #1: @ window xy nx ny ith
@ window_tools.gregclear plot@ window_initpen 0for ibox 1 to 9
@ window_xy 3 3 ’ibox’box n n n
nextpen 1@ window_xy 1 1 1box n n n
GREG tutorial: I. Basics S. Bardeau & J. Pety 2019
![Page 19: GREG tutorial: I. Basics](https://reader030.fdocuments.in/reader030/viewer/2022012407/616a23d811a7b741a34f3bf0/html5/thumbnails/19.jpg)
Controlling the position of your plots on the page
II. Easy way: 2. Syntax #2: @ window xy nx ny ix iy
pen 0@ window_xy 1 1 1 1box n n n@ window_xy 3 3 1 2box n n n
GREG tutorial: I. Basics S. Bardeau & J. Pety 2019
![Page 20: GREG tutorial: I. Basics](https://reader030.fdocuments.in/reader030/viewer/2022012407/616a23d811a7b741a34f3bf0/html5/thumbnails/20.jpg)
Controlling the position of your plots on the page
II. Easy way: 2. Syntax #2: @ window xy nx ny ix iy
pen 0@ window_xy 1 1 1 1box n n n@ window_xy 3 3 1 2box n n n@ window_xy 3 3 2 1box n n n
GREG tutorial: I. Basics S. Bardeau & J. Pety 2019
![Page 21: GREG tutorial: I. Basics](https://reader030.fdocuments.in/reader030/viewer/2022012407/616a23d811a7b741a34f3bf0/html5/thumbnails/21.jpg)
Controlling the position of your plots on the page
II. Easy way: 2. Syntax #2: @ window xy nx ny ix iy
pen 0@ window_xy 1 1 1 1box n n n@ window_xy 3 3 1 2box n n n@ window_xy 3 3 2 3box n n n@ window_xy 3 3 2 1box n n n
GREG tutorial: I. Basics S. Bardeau & J. Pety 2019
![Page 22: GREG tutorial: I. Basics](https://reader030.fdocuments.in/reader030/viewer/2022012407/616a23d811a7b741a34f3bf0/html5/thumbnails/22.jpg)
Controlling the position of your plots on the page
II. Easy way: 2. Syntax #2: @ window xy nx ny ix iy
pen 0@ window_xy 1 1 1 1box n n n@ window_xy 3 3 1 2box n n n@ window_xy 3 3 2 3box n n n@ window_xy 3 3 2 1box n n n@ window_xy 3 3 3 2box n n n
GREG tutorial: I. Basics S. Bardeau & J. Pety 2019
![Page 23: GREG tutorial: I. Basics](https://reader030.fdocuments.in/reader030/viewer/2022012407/616a23d811a7b741a34f3bf0/html5/thumbnails/23.jpg)
Controlling the position of your plots on the page
II. Easy way: 3. Choosing the position of the external box
pen 0let position 0.55 0.75 0.65 0.85@ window_xy 1 1 1 1box n n n@ window_xy 3 3 1 2box n n n@ window_xy 3 3 2 1box n n n@ window_xy 3 3 2 3box n n n@ window_xy 3 3 3 2box n n n!pen 0let position 0.80 1.0 0.65 0.85@ window_xy 1 1 1 1box n n npen 1@ window_xy 3 3 1 2box n n n@ window_xy 3 3 2 1box n n n@ window_xy 3 3 2 3box n n n@ window_xy 3 3 3 2box n n n
GREG tutorial: I. Basics S. Bardeau & J. Pety 2019
![Page 24: GREG tutorial: I. Basics](https://reader030.fdocuments.in/reader030/viewer/2022012407/616a23d811a7b741a34f3bf0/html5/thumbnails/24.jpg)
Controlling the position of your plots on the page
II. Easy way: 4. Getting margins between the internal boxes
pen 0let position 0.55 0.75 0.40 0.60let inter 0.25 0.5let aspect_ratio no@ window_xy 1 1 1 1box n n npen 2@ window_xy 3 3 1 2box n n n@ window_xy 3 3 2 1box n n n@ window_xy 3 3 2 3box n n n@ window_xy 3 3 3 2box n n n
GREG tutorial: I. Basics S. Bardeau & J. Pety 2019
![Page 25: GREG tutorial: I. Basics](https://reader030.fdocuments.in/reader030/viewer/2022012407/616a23d811a7b741a34f3bf0/html5/thumbnails/25.jpg)
Controlling the position of your plots on the page
II. Easy way: 4. Getting margins between the internal boxes
pen 0let position 0.80 1.00 0.40 0.60let inter 0.25 0.5let aspect_ratio yes@ window_xy 1 1 1 1box n n npen 3@ window_xy 3 3 1 2box n n n@ window_xy 3 3 2 1box n n n@ window_xy 3 3 2 3box n n n@ window_xy 3 3 3 2box n n n
GREG tutorial: I. Basics S. Bardeau & J. Pety 2019
![Page 26: GREG tutorial: I. Basics](https://reader030.fdocuments.in/reader030/viewer/2022012407/616a23d811a7b741a34f3bf0/html5/thumbnails/26.jpg)
Controlling the position of your plots on the page
II. Easy way: 4. Getting margins between the internal boxes
pen 0let position 0.55 0.75 0.15 0.35let inter 0.25 0.5let aspect_ratio yes@ window_xy 1 1 1 1box n n npen 4let aspect 0.5@ window_xy 3 3 1 2box n n n@ window_xy 3 3 2 1box n n n@ window_xy 3 3 2 3box n n n@ window_xy 3 3 3 2box n n n
GREG tutorial: I. Basics S. Bardeau & J. Pety 2019
![Page 27: GREG tutorial: I. Basics](https://reader030.fdocuments.in/reader030/viewer/2022012407/616a23d811a7b741a34f3bf0/html5/thumbnails/27.jpg)
Controlling the position of your plots on the page
II. Easy way: 4. Getting margins between the internal boxes
pen 0let position 0.80 1.00 0.15 0.35let inter 0.25 0.5let aspect_ratio yes@ window_xy 1 1 1 1box n n npen 6let aspect 2.0@ window_xy 3 3 1 2box n n n@ window_xy 3 3 2 1box n n n@ window_xy 3 3 2 3box n n n@ window_xy 3 3 3 2box n n n
GREG tutorial: I. Basics S. Bardeau & J. Pety 2019
![Page 28: GREG tutorial: I. Basics](https://reader030.fdocuments.in/reader030/viewer/2022012407/616a23d811a7b741a34f3bf0/html5/thumbnails/28.jpg)
Controlling the position of your plots on the page
II. Easy way: 5. Header position
clearpen 1cornerpen 0@ window_initlet aspect_ratio no!@ header_position@ window_xy 1 1 1box n n n
GREG tutorial: I. Basics S. Bardeau & J. Pety 2019
![Page 29: GREG tutorial: I. Basics](https://reader030.fdocuments.in/reader030/viewer/2022012407/616a23d811a7b741a34f3bf0/html5/thumbnails/29.jpg)
Controlling the position of your plots on the page
II. Easy way: 6. Data position
clearpen 1cornerpen 0@ window_initlet aspect_ratio no!@ header_position@ window_xy 1 1 1@ mybox pause 12!@ plot_position@ window_xy 1 1 1box n n n
GREG tutorial: I. Basics S. Bardeau & J. Pety 2019