TVPLOT is used to markup, label, annotate, or otherwise deface the image display. It has loads of options and clever use of defaults, so you don't have to say everything. The origin of the plots is from a predefined center loaded by the AXES command or is given by the C= keyword.
In simple use TVPLOT will draw lines. Use just L=l, or just P= for the default center, or two P=(r,c) endpoints to ignore the default origin. Use SCALE if you mean arcseconds for L and not pixels, PA to rotate, or OFF to give an offset in whatever direction the X axis is for any PA specification. TICKS will give nice scale marks on the line.
Show the image subsection boxes (see BOX) with BOX=n. You can also make up any boxes just for plotting by giving the BOX keyword. This tells TVPLOT to think about BOX plotting instead of lines. Use W and H with the default center or C= keyword, two P= keywords to give opposite corners, P and C together for corners, any of L, W, or H by themselves for square boxes, and so on. Use PA, OFF, SCALE to help out.
Other symetrical plots. Here you have CROSS, CIRC=r, COMPASS=r, all of which follow the AXES, C=, or P= centers. Use PA, OFF, SCALE here, too.
Now you can make any label you want with the TEXT option - except you can't rotate it with PA (sorry - it uses system fonts that I didn't want to muck with). Use P=, or C= to position it - where you give where you want the center of the string to be. Right now VISTA has a little trouble with multiword strings enterred directly on the TVPLOT command line, but they work fine if you load them first with the STRING command.
O.K. so now you want real vector graphics.
Use procedures to make a neat grid at a funny angle.
YDIM=25 XDIM=15 FUNNY=37 STEP=5 DO Y=-YDIM,YDIM,STEP TVPLOT P=(-XDIM,Y) P=(XDIM,Y) PA=FUNNY END_DO DO X=-XDIM,XDIM,STEP TVPLOT P=(X,-YDIM) P=(X,YDIM) PA=FUNNY END_DO