# Ruby/PGPLOT categorized method index

### Drawing primitives

- `pgline` -- draw a polyline (curve defined by line-segments)
- `pgpoly` -- draw a polygon, using fill-area attributes
- `pgpt1` -- draw one graph marker
- `pgpt` -- draw several graph markers
- `pgpnts` -- draw several graph markers, not all the same
- `pgarro` -- draw an arrow
- `pgcirc` -- draw a circle, using fill-area attributes
- `pgrect` -- draw a rectangle, using fill-area attributes
- `pgmove` -- move pen (change current pen position)
- `pgdraw` -- draw a line from the current pen position to a point

### Axis

- `pgaxis` -- draw an axis
- `pgbox` -- draw labeled frame around viewport
- `pgtick` -- draw a single tick mark on an axis
- `pgtbox` -- draw frame and write (DD) HH MM SS.S labelling

### Text

- `pglab` -- write labels for x-axis, y-axis, and top of plot
- `pgtext` -- write text (horizontal, left-justified)
- `pgmtxt` -- write text at position relative to viewport
- `pgptxt` -- write text at arbitrary position and angle
- `pgetxt` -- erase text from graphics display
- `pgiden` -- write username, date, and time at bottom of plot
- `pglen` -- find length of a string in a variety of units
- `pgqtxt` -- find bounding box of text string

### Histgram

- `pgbin` -- histogram of binned data
- `pghist` -- histogram of unbinned data

### Error bar

- `pgerr1` -- horizontal or vertical error bar
- `pgerrb` -- horizontal or vertical error bar
- `pgerrx` -- horizontal error bar
- `pgerry` -- vertical error bar

### 2D drawing

- `pgcont` -- contour map of a 2D data array (contour-following)
- `pgcons` -- contour map of a 2D data array (fast algorithm)
- `pgconb` -- contour map of a 2D data array, with blanking
- `pgconf` -- fill between two contours
- `pgconl` -- label contour map of a 2D data array
- `pgconx` -- contour map of a 2D data array (non rectangular) (not implemented in Ruby/PGPLOT)
- `pgimag` -- color image from a 2D data array
- `pgctab` -- install the color table to be used by pgimag
- `pggray` -- gray-scale map of a 2D data array
- `pgpixl` -- draw pixels
- `pgvect` -- vector map of a 2D data array, with blanking
- `pgwedg` -- annotate an image plot with a wedge
- `pghi2d` -- cross-sections through a 2D data array

### Cursor

- `pgband` -- read cursor position, with anchor
- `pgcurs` -- read cursor position
- `pglcur` -- draw a line using the cursor
- `pgncur` -- mark a set of points using the cursor
- `pgolin` -- mark a set of points using the cursor

### Control

- `pgopen` -- open a graphics device
- `pgbeg` -- open a graphics device
- `pgclos` -- close the selected graphics device
- `pgend` -- close all open graphics devices
- `pgenv` -- set window and viewport and draw labeled frame
- `pgask` -- control new page prompting
- `pgpage` -- advance to new page
- `pgeras` -- erase all graphics from current page
- `pgbbuf` -- begin batch of output (buffer)
- `pgebuf` -- end batch of output (buffer)
- `pgpanl` -- switch to a different panel on the view surface
- `pgpap` -- change the size of the view surface
- `pgrnge` -- choose axis limits
- `pgsave` -- save PGPLOT attributes
- `pgunsa` -- restore PGPLOT attributes
- `pgscrl` -- scroll window
- `pgsubp` -- subdivide view surface into panels
- `pgupdt` -- update display

### Set attributes

- `pgsah` -- set arrow-head style
- `pgscf` -- set character font
- `pgsch` -- set character height
- `pgsci` -- set color index
- `pgscir` -- set color index range
- `pgsclp` -- enable or disable clipping at edge of viewport
- `pgscr` -- set color representation
- `pgscrn` -- set color representation by name
- `pgsfs` -- set fill-area style
- `pgshls` -- set color representation using HLS system
- `pgshs` -- set hatching style
- `pgsitf` -- set image transfer function
- `pgslct` -- select an open graphics device
- `pgsls` -- set line style
- `pgslw` -- set line width
- `pgstbg` -- set text background color index
- `pgsvp` -- set viewport (normalized device coordinates)
- `pgswin` -- set window
- `pgvsiz` -- set viewport (inches)
- `pgvstd` -- set standard (default) viewport
- `pgwnad` -- set window and adjust viewport to same aspect ratio

### Inquire attributes

- `pgldev` -- list available device types on standard output
- `pgqah` -- inquire arrow-head style
- `pgqcf` -- inquire character font
- `pgqch` -- inquire character height
- `pgqci` -- inquire color index
- `pgqcir` -- inquire color index range
- `pgqclp` -- inquire clipping status
- `pgqcol` -- inquire color capability
- `pgqcr` -- inquire color representation
- `pgqcs` -- inquire character height in a variety of units
- `pgqdt` -- inquire name of nth available device type
- `pgqfs` -- inquire fill-area style
- `pgqhs` -- inquire hatching style
- `pgqid` -- inquire current device identifier
- `pgqinf` -- inquire PGPLOT general information
- `pgqitf` -- inquire image transfer function
- `pgqls` -- inquire line style
- `pgqlw` -- inquire line width
- `pgqndt` -- inquire number of available device types
- `pgqpos` -- inquire current pen position
- `pgqtbg` -- inquire text background color index
- `pgqvp` -- inquire viewport size and position
- `pgqvsz` -- inquire size of view surface
- `pgqwin` -- inquire window boundary coordinates

#### Hereafter not implemented in Ruby/PGPLOT

### Utility

- `pgnumb` -- convert a number into a plottable character string
- `pgrnd` -- find the smallest `round' number greater than x

### Drawing function

- `pgfunt` -- function defined by X = F(T), Y = G(T)
- `pgfunx` -- function defined by Y = F(X)
- `pgfuny` -- function defined by X = F(Y)

### Alias

- `pgadvance` -- non-standard alias for pgpage
- `pgbegin` -- non-standard alias for pgbeg
- `pgcurse` -- non-standard alias for pgcurs
- `pglabel` -- non-standard alias for pglab
- `pgmtext` -- non-standard alias for pgmtxt
- `pgncurse` -- non-standard alias for pgncur
- `pgpaper` -- non-standard alias for pgpap
- `pgpoint` -- non-standard alias for pgpt
- `pgptext` -- non-standard alias for pgptxt
- `pgvport` -- non-standard alias for pgsvp
- `pgvsize` -- non-standard alias for pgvsiz
- `pgvstand` -- non-standard alias for pgvstd
- `pgwindow` -- non-standard alias for pgswin

Ruby/PGPLOT by Masahiro Tanaka
Last update: May 29 2024