All, I'd like to do something like this: create_axes(xmin,xmax,ymin,ymax,ux,uy)(x); Where x will be a label for my x-axis. But once in a while it might be t or u or some other thing such as "Days." I want to use it like this: beginfig(0); %initialize window parameters numeric xmin, xmax, xscl, ymin, ymax, yscl; xmin:=-5; xmax:=5; xscl:=1; ymin:=-5; ymax:=5; yscl:=1; %initialize scale numeric ux, uy; (xmax-xmin)*ux=4in; (ymax-ymin)*uy=3in; %create-axes function vardef create_axes(expr xxmin, xxmax, yymin, yymax, uux, uuy)(text xlbl)= drawdblarrow (1.05*xxmin*uux,0)--(1.05*xxmax*uux,0); label.rt(btex $xlbl$, (1.05*xxmax*uux,0)); drawdblarrow (0,1.05*yymin*uuy)--(0,1.05*yymax*uuy); enddef; create_axes(xmin,xmax,ymin,ymax,ux,uy)(x); endfig; end. Two questions: 1. How can I do this in plain metapost? 2. What would be the "Context Way?"