giza

PGPLOT interface

Included with giza are PGPLOT interfaces that aim to replicate the full public interface to PGPLOT. This means that giza can be compiled as a drop-in replacement for libpgplot and libcpgplot. So older programs written using PGPLOT can be linked against giza with the source code unchanged, giving a modern plotting library with antialiased lines, real fonts and PDF output. For the c library (libcpgplot) it also avoids the unnecessary linking against FORTRAN necessary with the original libcpgplot so increases portability of code written in c. The giza-PGPLOT API also aims to provide maximum backwards compatibility with PGPLOT (e.g., line styles, greek letter escape sequences, etc.) so that codes can be transitioned with ease.

The status of the standard Fortran (libpgplot) and C (libcpgplot) interfaces are given below. Contributions most welcome!

Current status (libpgplot):

PGARROIMPLEMENTEDdraw an arrow
PGASKIMPLEMENTEDcontrol new page prompting
PGAXISNOT IMPLEMENTEDdraw an axis
PGBANDIMPLEMENTEDread cursor position, with anchor
PGBBUFIMPLEMENTEDbegin batch of output (buffer)
PGBEGIMPLEMENTEDopen a graphics device
PGBINIMPLEMENTEDhistogram of binned data
PGBOXIMPLEMENTEDdraw labeled frame around viewport
PGCIRCIMPLEMENTEDdraw a circle, using fill-area attributes
PGCLOSIMPLEMENTEDclose the selected graphics device
PGCONBPARTIALLY IMPLEMENTEDcontour map of a 2D data array, with blanking
PGCONFNOT IMPLEMENTEDfill between two contours
PGCONLPARTIALLY IMPLEMENTEDlabel contour map of a 2D data array
PGCONSIMPLEMENTEDcontour map of a 2D data array (fast algorithm)
PGCONTIMPLEMENTEDcontour map of a 2D data array (contour-following)
PGCONXNOT IMPLEMENTEDcontour map of a 2D data array (non rectangular)
PGCTABPARTIALLY IMPLEMENTEDinstall the color table to be used by PGIMAG
PGCURSIMPLEMENTEDread cursor position
PGDRAWIMPLEMENTEDdraw a line from the current pen position to a point
PGEBUFIMPLEMENTEDend batch of output (buffer)
PGENDIMPLEMENTEDclose all open graphics devices
PGENVIMPLEMENTEDset window and viewport and draw labeled frame
PGERASIMPLEMENTEDerase all graphics from current page
PGERR1IMPLEMENTEDhorizontal or vertical error bar
PGERRBIMPLEMENTEDhorizontal or vertical error bar
PGERRXIMPLEMENTEDhorizontal error bar
PGERRYIMPLEMENTEDvertical error bar
PGETXTNOT IMPLEMENTEDerase text from graphics display
PGFUNTIMPLEMENTEDfunction defined by X = F(T), Y = G(T)
PGFUNXIMPLEMENTEDfunction defined by Y = F(X)
PGFUNYIMPLEMENTEDfunction defined by X = F(Y)
PGGRAYIMPLEMENTEDgray-scale map of a 2D data array
PGHI2DNOT IMPLEMENTEDcross-sections through a 2D data array
PGHISTIMPLEMENTEDhistogram of unbinned data
PGIDENIMPLEMENTEDwrite username, date, and time at bottom of plot
PGIMAGIMPLEMENTEDcolor image from a 2D data array
PGLABIMPLEMENTEDwrite labels for x-axis, y-axis, and top of plot
PGLCURIMPLEMENTEDdraw a line using the cursor
PGLDEVIMPLEMENTEDlist available device types on standard output
PGLENIMPLEMENTEDfind length of a string in a variety of units
PGLINEIMPLEMENTEDdraw a polyline (curve defined by line-segments)
PGMOVEIMPLEMENTEDmove pen (change current pen position)
PGMTXTIMPLEMENTEDwrite text at position relative to viewport
PGNCURIMPLEMENTEDmark a set of points using the cursor
PGNUMBIMPLEMENTEDconvert a number into a plotable character string
PGOLINIMPLEMENTEDmark a set of points using the cursor
PGOPENIMPLEMENTEDopen a graphics device
PGPAGEIMPLEMENTEDadvance to new page
PGPANLIMPLEMENTEDswitch to a different panel on the view surface
PGPAPIMPLEMENTEDchange the size of the view surface
PGPIXLIMPLEMENTEDdraw pixels
PGPNTSNOT IMPLEMENTEDdraw several graph markers, not all the same
PGPOLYIMPLEMENTEDdraw a polygon, using fill-area attributes
PGPTIMPLEMENTEDdraw several graph markers
PGPT1IMPLEMENTEDdraw one graph marker
PGPTXTIMPLEMENTEDwrite text at arbitrary position and angle
PGQAHIMPLEMENTEDinquire arrow-head style
PGQCFIMPLEMENTEDinquire character font
PGQCHIMPLEMENTEDinquire character height
PGQCIIMPLEMENTEDinquire color index
PGQCIRIMPLEMENTEDinquire color index range
PGQCLPIMPLEMENTEDinquire clipping status
PGQCOLIMPLEMENTEDinquire color capability
PGQCR IMPLEMENTEDinquire color representation
PGQCS IMPLEMENTEDinquire character height in a variety of units
PGQDTNOT IMPLEMENTEDinquire name of nth available device type
PGQFSIMPLEMENTEDinquire fill-area style
PGQHSIMPLEMENTEDinquire hatching style
PGQIDIMPLEMENTEDinquire current device identifier
PGQINFIMPLEMENTEDinquire PGPLOT general information
PGQITFNOT IMPLEMENTEDinquire image transfer function
PGQLSIMPLEMENTEDinquire line style
PGQLWIMPLEMENTEDinquire line width
PGQNDTNOT IMPLEMENTEDinquire number of available device types
PGQPOSIMPLEMENTEDinquire current pen position
PGQTBGIMPLEMENTEDinquire text background color index
PGQTXTIMPLEMENTEDfind bounding box of text string
PGQVPIMPLEMENTEDinquire viewport size and position
PGQVSZIMPLEMENTEDinquire size of view surface
PGQWINIMPLEMENTEDinquire window boundary coordinates
PGRECTIMPLEMENTEDdraw a rectangle, using fill-area attributes
PGRNDIMPLEMENTEDfind the smallest `round' number greater than x
PGRNGEIMPLEMENTEDchoose axis limits
PGSAHIMPLEMENTEDset arrow-head style
PGSAVEIMPLEMENTEDsave PGPLOT attributes
PGUNSAIMPLEMENTEDrestore PGPLOT attributes
PGSCFIMPLEMENTEDset character font
PGSCHIMPLEMENTEDset character height
PGSCIIMPLEMENTEDset color index
PGSCIRIMPLEMENTEDset color index range
PGSCLPIMPLEMENTEDenable or disable clipping at edge of viewport
PGSCRIMPLEMENTEDset color representation
PGSCRLNOT IMPLEMENTEDscroll window
PGSCRNNOT IMPLEMENTEDset color representation by name
PGSFSIMPLEMENTEDset fill-area style
PGSHLSIMPLEMENTEDset color representation using HLS system
PGSHSIMPLEMENTEDset hatching style
PGSITFNOT IMPLEMENTEDset image transfer function
PGSLCTIMPLEMENTEDselect an open graphics device
PGSLSIMPLEMENTEDset line style
PGSLWIMPLEMENTEDset line width
PGSTBGIMPLEMENTEDset text background color index
PGSUBPIMPLEMENTEDsubdivide view surface into panels
PGSVPIMPLEMENTEDset viewport (normalized device coordinates)
PGSWINIMPLEMENTEDset window
PGTBOXPARTIALLY IMPLEMENTEDdraw frame and write (DD) HH MM SS.S labelling
PGTEXTIMPLEMENTEDwrite text (horizontal, left-justified)
PGTICKNOT IMPLEMENTEDdraw a single tick mark on an axis
PGUPDTIMPLEMENTEDupdate display
PGVECTIMPLEMENTEDvector map of a 2D data array, with blanking
PGVSIZIMPLEMENTEDset viewport (inches)
PGVSTDIMPLEMENTEDset standard (default) viewport
PGWEDGIMPLEMENTEDannotate an image plot with a wedge
PGWNADIMPLEMENTEDset window and adjust viewport to same aspect ratio
PGADVANCEIMPLEMENTEDnon-standard alias for PGPAGE
PGBEGINIMPLEMENTEDnon-standard alias for PGBEG
PGCURSEIMPLEMENTEDnon-standard alias for PGCURS
PGLABELIMPLEMENTEDnon-standard alias for PGLAB
PGMTEXTIMPLEMENTEDnon-standard alias for PGMTXT
PGNCURSEIMPLEMENTEDnon-standard alias for PGNCUR
PGPAPERIMPLEMENTEDnon-standard alias for PGPAP
PGPOINTIMPLEMENTEDnon-standard alias for PGPT
PGPTEXTIMPLEMENTEDnon-standard alias for PGPTXT
PGVPORTIMPLEMENTEDnon-standard alias for PGSVP
PGVSIZEIMPLEMENTEDnon-standard alias for PGVSIZ
PGVSTANDIMPLEMENTEDnon-standard alias for PGVSTD
PGWINDOWIMPLEMENTEDnon-standard alias for PGSWIN

114 of 127 routines implemented, 110 of 127 fully implemented.

Current status (libcpgplot):

cpgarroIMPLEMENTEDdraw an arrow
cpgaskIMPLEMENTEDcontrol new page prompting
cpgaxisNOT IMPLEMENTEDdraw an axis
cpgbandIMPLEMENTEDread cursor position, with anchor
cpgbbufIMPLEMENTEDbegin batch of output (buffer)
cpgbegIMPLEMENTEDopen a graphics device
cpgbinIMPLEMENTEDhistogram of binned data
cpgboxIMPLEMENTEDdraw labeled frame around viewport
cpgcircIMPLEMENTEDdraw a circle, using fill-area attributes
cpgclosIMPLEMENTEDclose the selected graphics device
cpgconbPARTIALLY IMPLEMENTEDcontour map of a 2D data array, with blanking
cpgconfNOT IMPLEMENTEDfill between two contours
cpgconlPARTIALLY IMPLEMENTEDlabel contour map of a 2D data array
cpgconsIMPLEMENTEDcontour map of a 2D data array (fast algorithm)
cpgcontIMPLEMENTEDcontour map of a 2D data array (contour-following)
cpgctabIMPLEMENTEDinstall the color table to be used by pgimag
cpgcursIMPLEMENTEDread cursor position
cpgdrawIMPLEMENTEDdraw a line from the current pen position to a point
cpgebufIMPLEMENTEDend batch of output (buffer)
cpgendIMPLEMENTEDclose all open graphics devices
cpgenvIMPLEMENTEDset window and viewport and draw labeled frame
cpgerasIMPLEMENTEDerase all graphics from current page
cpgerr1IMPLEMENTEDhorizontal or vertical error bar
cpgerrbIMPLEMENTEDhorizontal or vertical error bar
cpgerrxIMPLEMENTEDhorizontal error bar
cpgerryIMPLEMENTEDvertical error bar
cpgetxtNOT IMPLEMENTEDerase text from graphics display
cpggrayIMPLEMENTEDgray-scale map of a 2D data array
cpghi2DNOT IMPLEMENTEDcross-sections through a 2D data array
cpghistIMPLEMENTEDhistogram of unbinned data
cpgidenIMPLEMENTEDwrite username, date, and time at bottom of plot
cpgimagIMPLEMENTEDcolor image from a 2D data array
cpglabIMPLEMENTEDwrite labels for x-axis, y-axis, and top of plot
cpglcurIMPLEMENTEDdraw a line using the cursor
cpgldevIMPLEMENTEDlist available device types on standard output
cpglenIMPLEMENTEDfind length of a string in a variety of units
cpglineIMPLEMENTEDdraw a polyline (curve defined by line-segments)
cpgmoveIMPLEMENTEDmove pen (change current pen position)
cpgmtxtIMPLEMENTEDwrite text at position relative to viewport
cpgncurIMPLEMENTEDmark a set of points using the cursor
cpgnumbIMPLEMENTEDconvert a number into a plottable character string
cpgolinIMPLEMENTEDmark a set of points using the cursor
cpgopenIMPLEMENTEDopen a graphics device
cpgpageIMPLEMENTEDadvance to new page
cpgpanlIMPLEMENTEDswitch to a different panel on the view surface
cpgpapIMPLEMENTEDchange the size of the view surface
cpgpixlIMPLEMENTEDdraw pixels
cpgpntsNOT IMPLEMENTEDdraw several graph markers, not all the same
cpgpolyIMPLEMENTEDdraw a polygon, using fill-area attributes
cpgptIMPLEMENTEDdraw several graph markers
cpgpt1IMPLEMENTEDdraw one graph marker
cpgptxtIMPLEMENTEDwrite text at arbitrary position and angle
cpgqahIMPLEMENTEDinquire arrow-head style
cpgqcfIMPLEMENTEDinquire character font
cpgqchIMPLEMENTEDinquire character height
cpgqciIMPLEMENTEDinquire color index
cpgqcirIMPLEMENTEDinquire color index range
cpgqclpIMPLEMENTEDinquire clipping Status
cpgqcolIMPLEMENTEDinquire color capability
cpgqcrIMPLEMENTEDinquire color representation
cpgqcsIMPLEMENTEDinquire character height in a variety of units
cpgqdtNOT IMPLEMENTEDinquire name of nth available device type
cpgqfsIMPLEMENTEDinquire fill-area style
cpgqhsIMPLEMENTEDinquire hatching style
cpgqidIMPLEMENTEDinquire current device identifier
cpgqinfNOT IMPLEMENTEDinquire pgplot general information
cpgqitfNOT IMPLEMENTEDinquire image transfer function
cpgqlsIMPLEMENTEDinquire line style
cpgqlwIMPLEMENTEDinquire line width (as integer)
cpgqndtNOT IMPLEMENTEDinquire number of available device types
cpgqposIMPLEMENTEDinquire current pen position
cpgqtbgIMPLEMENTEDinquire text background color index
cpgqtxtIMPLEMENTEDfind bounding box of text string
cpgqvpIMPLEMENTEDinquire viewport size and position
cpgqvszIMPLEMENTEDinquire size of view surface
cpgqwinIMPLEMENTEDinquire window boundary coordinates
cpgrectIMPLEMENTEDdraw a rectangle, using fill-area attributes
cpgrndIMPLEMENTEDfind the smallest `round' number greater than x
cpgrngeIMPLEMENTEDchoose axis limits
cpgsahIMPLEMENTEDset arrow-head style
cpgsaveIMPLEMENTEDsave pgplot attributes
cpgunsaIMPLEMENTEDrestore pgplot attributes
cpgscfIMPLEMENTEDset character font
cpgschIMPLEMENTEDset character height
cpgsciIMPLEMENTEDset color index
cpgscirIMPLEMENTEDset color index range
cpgsclpIMPLEMENTEDenable or disable clipping at edge of viewport
cpgscrIMPLEMENTEDset color representation
cpgscrlNOT IMPLEMENTEDscroll window
cpgscrnNOT IMPLEMENTEDset color representation by name
cpgsfsIMPLEMENTEDset fill-area style
cpgshlsIMPLEMENTEDset color representation using hls system
cpgshsIMPLEMENTEDset hatching style
cpgsitfNOT IMPLEMENTEDset image transfer function
cpgslctIMPLEMENTEDselect an open graphics device
cpgslsIMPLEMENTEDset line style
cpgslwIMPLEMENTEDset line width
cpgstbgIMPLEMENTEDset text background color index
cpgsubpIMPLEMENTEDsubdivide view surface into panels
cpgsvpIMPLEMENTEDset viewport (normalized device coordinates)
cpgswinIMPLEMENTEDset window
cpgtboxPARTIALLY IMPLEMENTEDdraw frame and write (dd) hh mm ss.s labelling
cpgtextIMPLEMENTEDwrite text (horizontal, left-justified)
cpgtickNOT IMPLEMENTEDdraw a single tick mark on an axis
cpgupdtIMPLEMENTEDupdate display
cpgvectIMPLEMENTEDvector map of a 2D data array, with blanking
cpgvsizIMPLEMENTEDset viewport (inches)
cpgvstdIMPLEMENTEDset standard (default) viewport
cpgwedgIMPLEMENTEDannotate an image plot with a wedge
cpgwnadIMPLEMENTEDset window and adjust viewport to same aspect ratio

97 of 110 routines implemented, 94 of 110 fully implemented.