Autograph(3NCARG)

πŸ“¦ version 6.6.2, in epel 9, fedora 43, fedora 44

πŸ’– NAME πŸ’–

Autograph β€” she draws graphs. Every graph gets a labeled background, and every graph shows off one or more curves. That's it, that's the whole vibe. πŸ‘‘


✨ SYNOPSIS ✨

Okay bestie, so here's the tea: every routine in this first lil' group draws a complete graph with a single call. One call and boom, graph. It's giving efficiency. 🫢

  • EZY β€” Draws a complete graph of a single curve through the points (I,YDRA(I)), for I from 1 to NPTS. How does it draw it? However the current values of the control parameters say to. The argument GLAB may be used to specify a "graph label", which gets placed at the top of the graph. πŸ’…
  • EZXY β€” Draws a complete graph of a single curve through the points (XDRA(I),YDRA(I)), for I from 1 to NPTS, again in a manner determined by the current values of the control parameters. The argument GLAB may be used to specify a "graph label", to be placed at the top of the graph. ✨
  • EZMY β€” Draws a complete graph of one or more curves, each defined by a set of points (I,YDRA(I,J)) (or (I,YDRA(J,I)), depending on the current value of Β΄ROW.Β΄), for I from 1 to NPTS. The curve number J runs from 1 to MANY. The argument GLAB may be used to specify a "graph label", to be placed at the top of the graph. Multiple curves, no cap. πŸ”₯
  • EZMXY β€” Draws a complete graph of one or more curves, each defined by a set of points (XDRA(I),YDRA(I,J)) (or (XDRA(I),YDRA(J,I)) or (XDRA(I,J),YDRA(I,J)) or (XDRA(J,I),YDRA(J,I)), depending on the current value of Β΄ROW.Β΄), for I from 1 to NPTS. The curve number J runs from 1 to MANY. The argument GLAB may be used to specify a "graph label", to be placed at the top of the graph. Look at all those point orderings, main character energy fr fr. 🌈

πŸŽ€ The control-parameter girlies πŸŽ€

These next routines are how you actually get in there and poke at the control parameters:

  • ANOTAT β€” Changes the values of certain primary control parameters, purportedly having to do with "annotation" of a graph.
  • DISPLA β€” Changes the values of certain primary control parameters, purportedly having to do with the "display" of a graph.
  • AGSETC β€” Lets a user program (in effect) store a character string as the value of a specified single parameter.
  • AGSETF β€” Lets a user program store a real number as the value of a single parameter.
  • AGSETI β€” Lets a user program store the real equivalent of an integer as the value of a single parameter.
  • AGSETP β€” Lets a user program reset the values of a group of parameters containing one or more elements.
  • AGSETR β€” Lets a user program store a real number as the value of a single parameter.
  • AGGETC β€” Lets a user program retrieve (in effect) the character-string values of certain single parameters.
  • AGGETF β€” Lets a user program retrieve the real value of a single parameter.
  • AGGETI β€” Lets a user program retrieve the integer equivalent of the real value of a single parameter.
  • AGGETP β€” Lets a user program get the values of a group of parameters containing one or more elements.
  • AGGETR β€” Lets a user program retrieve the real value of a single parameter.

πŸ¦‹ The lower-level user-callable routines πŸ¦‹

These ones go a little deeper under the hood:

  • AGSTUP β€” Performs the "set-up" tasks required before AGBACK and AGCURV may be called. Basically, AGSTUP examines the current values of the primary control parameters for errors and computes from them and from its arguments the values of secondary control parameters. The primary and secondary control parameters together determine how the routines AGBACK and AGCURV will behave. She's the prep girly. πŸ’…
  • AGBACK β€” Draws the background specified by the current values of the control parameters β€” the primary parameters with default values or with values supplied by the user, and the secondary parameters with values computed by AGSTUP.
  • AGCURV β€” Draws a curve in a manner specified by the current values of the control parameters β€” the primary parameters with default values or with values supplied by the user, and the secondary parameters with values computed by AGSTUP.

🌸 Other user-callable routines 🌸

  • AGSAVE β€” Saves the current state of Autograph for later restoration by AGRSTR.
  • AGRSTR β€” Restores a saved state of Autograph.

🧚 The non-user-callable CHARACTER*16 functions 🧚

Not for you to call, bestie, but here's what they do:

  • AGBNCH β€” Provides an easy way to convert binary dash patterns into character dash patterns.
  • AGDSHN β€” Provides an easy way to generate the names of parameters in the group Β΄DASH/PATTERN.Β΄, for use in calls to AGSETC and AGGETC.

🌟 C-BINDING SYNOPSIS 🌟

#include <ncarg/ncargC.h>

Then the C names, one per line, exactly like this:

c_ezy
c_ezxy
c_ezmy
c_ezmxy
c_anotat
c_displa
c_agsetc
c_agsetf
c_agseti
c_agsetp
c_agsetr
c_aggetc
c_aggetf
c_aggeti
c_aggetp
c_aggetr
c_agstup
c_agback
c_agcurv
c_agsave
c_agrstr
c_agbnch
c_agdshn

πŸ‘‘ USER-MODIFIABLE INTERNAL ROUTINES πŸ‘‘

These are the ones you, yes you, can swap out with your own version. Glow-up potential: immaculate. ✨

  • AGCHAX β€” Provides a way for the user to change the color, intensity, line style, etc., of various portions of the axes.
  • AGCHCU β€” Provides a way for the user to change the color, intensity, line style, etc., of curves drawn by Autograph.
  • AGCHIL β€” Provides a way for the user to change the color, intensity, text style, etc., of the informational labels.
  • AGCHNL β€” Provides a way for the user to substitute arbitrary character strings for the numeric labels generated by Autograph.
  • AGPWRT β€” Provides a way for the user to change the style of all text strings drawn by Autograph.
  • AGUTOL β€” Provides a way for the user to change the user-system-to-label-system mapping for one or more of the four axes.

πŸ”₯ ACCESS πŸ”₯

To use the Autograph Fortran or C routines, load the NCAR Graphics libraries ncarg, ncarg_gks, and ncarg_c, preferably in that order. Order matters, bestie. 🫢

To get smoother curves, drawn using spline interpolation, also load libdashsmth.o.

Not me about to explain AGPWRT twice, but she genuinely deserves it. πŸ’€

Autograph contains a routine AGPWRT, which it calls to draw labels. This routine just passes its arguments on to the system-plot-package routine PWRIT. To use one of the fancier character-drawers, like Plotchar, just compile a routine AGPWRT to replace the default version; it has the same arguments as PWRIT and may either draw the character string itself, or just pass the arguments on to a desired character-drawer. You can also modify AGPWRT so that Autograph will access character fonts that are different from the default font. In its distributed form, AGPWRT calls PWRIT. Consult the documentation in the code. The file AGUPWRT on the distribution tape contains an implementation of AGPWRTX that allows Autograph to access the PWRITX character set. See the documentation in the code for AGUPWRTX. See your NCAR Graphics site representative to learn how to access the code.


okay that's the first chunk, there's more coming so don't go anywhere πŸ’–

πŸ’¬ MESSAGES πŸ’¬

okay bestie, so here's the tea β˜•: Autograph routines detect certain errors and, in response, call the routine SETER, which is an adapted version of a PORT error handler. Currently, all such errors are treated as being fatal and cause termination of the job. An error message is logged before the job is terminated. Each such message includes the name of the routine which detected the error and may be accompanied by supplementary information aimed at allowing the user to easily identify the call that caused the error. The possible error messages are as follows (in alphabetical order):

AGEXAX (CALLED BY AGSTUP) - USER-SYSTEM-TO-LABEL-SYSTEM MAPPING IS NOT MONOTONIC

ngl, this probably means that you have replaced the default routine AGUTOL with a version of your own, and youΒ΄ve blown it. πŸ’€

AGGETC - PARAMETER TO GET IS NOT INTRINSICALLY OF TYPE CHARACTER

The argument TPGN specifies a parameter which is not intrinsically of type character. See the description in the AGGETC man page.

AGGETP OR AGSETP - ATTEMPT TO ACCESS LABEL ATTRIBUTES BEFORE SETTING LABEL NAME

The parameter Β΄LABEL/NAME.Β΄ must be set prior to the call which gave the error message, specifying which labelΒ΄s attributes are being referenced.

AGGETP OR AGSETP - ATTEMPT TO ACCESS LINE ATTRIBUTES BEFORE SETTING LINE NUMBER

The parameter Β΄LINE/NUMBER.Β΄ must be set prior to the call which gave the error message, specifying which label lineΒ΄s attributes are being referenced.

AGGETP OR AGSETP - ILLEGAL KEYWORD USED IN PARAMETER IDENTIFIER

The argument TPGN contains an unrecognizable keyword.

AGKURV - NUMBER OF POINTS IS .LE. 0

The argument NEXY, in a call to AGCURV, is less than or equal to zero. The routine AGKURV is called by AGCURV to draw un-windowed curves.

AGNUMB - MANTISSA TOO LONG / AGNUMB - EXPONENT TOO LARGE / AGNUMB - ZERO-LENGTH MANTISSA

AGNUMB is called by AGAXIS to generate a character string expressing the value of a real number. You should not be able to generate any of AGNUMBΒ΄s error messages. If you do, see the Autograph specialist.

AGQURV - NUMBER OF POINTS IS .LE. 0

The argument NEXY, in a call to AGCURV, is less than or equal to zero. The routine AGQURV is called by AGCURV to draw windowed curves.

AGRSTR - ERROR ON READ / AGRSTR - END-OF-FILE ON READ

Probably the unit specified by IFNO was not positioned properly.

AGSAVE - ERROR ON WRITE

A system error has occurred as a result of the attempted "WRITE".

AGSETC - PARAMETER TO SET IS NOT INTRINSICALLY OF TYPE CHARACTER

This means that the argument TPGN specifies some parameter other than one of the acceptable possibilities. See the description in the AGSETC man page.

AGSETP - ATTEMPT TO DEFINE LINE OF NON-EXISTENT LABEL

The user has attempted to define a line of a label without first specifying which label; Β΄LABEL/NAME.Β΄ must be set prior to the call which gave the error message.

AGSETP - LABEL LIST OVERFLOW - SEE AUTOGRAPH SPECIALIST

The user has attempted to define more labels than Autograph can handle; a modification of Autograph is required.

AGSETP - LINE LIST OVERFLOW - SEE AUTOGRAPH SPECIALIST

The user has attempted to define more label lines than Autograph can handle; a modification of Autograph is required.

AGSTCH - CHARACTER-STRING BUFFER OVERFLOW - SEE CONSULTANT

The routine AGSTCH is called by AGSETC to stash the character string in AutographΒ΄s character storage space. The available storage space has been exhausted. See the consultant.

AGSTCH - CHARACTER-STRING INDEX OVERFLOW - SEE CONSULTANT

The routine AGSTCH is called by AGSETC to stash the character string in AutographΒ΄s character storage space. Too many such strings have been stored. See the consultant.

AGSTUP - GRAPH WINDOW IMPROPERLY SPECIFIED

The parameters in the group named Β΄GRAPH.Β΄ have improper values.

AGSTUP - GRID WINDOW IMPROPERLY SPECIFIED

The parameters in the group named Β΄GRID.Β΄ have improper values. This is most likely to occur when Β΄SET.Β΄ has the value "2." or "4.", specifying that the edges of the grid window are to be as implied by the last call to the plot package routine SET. Check to make sure that the portion of the plotter frame specified by the last SET call is within the current graph window.

AGSTUP - s LABELS IMPROPERLY SPECIFIED

(where "s" = "LEFT", "RIGHT", "BOTTOM", "TOP", or "INTERIOR"). Re-read the paragraph "THE LABEL BOXES", in the section "OVERVIEW". You have defined a label with a basepoint on one edge of the grid window and an offset vector pointing outward, some part of which extends inside the grid window (or vice-versa). This is not allowed.


πŸ‘€ SEE ALSO πŸ‘€

Online: autograph, autograph_params, agback, agbnch, agchax, agchcu, agchil, agchnl, agcurv, agdshn, aggetc, aggetf, aggeti, aggetp, aggetr, agpwrt, agrstr, agsave, agsetc, agsetf, agseti, agsetp, agsetr, agstup, agutol, anotat, displa, ezmxy, ezmy, ezxy, ezy

Hardcopy: NCAR Graphics Fundamentals, UNIX Version


Copyright (C) 1987-2009 University Corporation for Atmospheric Research The use of this Software is governed by a License Agreement.

catch u later on the UNIX side, March 1993, Autograph(3NCARG) vibes πŸ’…βœ¨

πŸ“¦ where this page comes from