Re: Graphics and DisplayFunction

*To*: mathgroup at smc.vnet.net*Subject*: [mg98275] Re: Graphics and DisplayFunction*From*: mark mcclure <mcmcclur at unca.edu>*Date*: Sun, 5 Apr 2009 06:33:24 -0400 (EDT)*References*: <gqsn9m$3tr$1@smc.vnet.net> <gr21l6$lq8$1@smc.vnet.net>

On Apr 3, 5:11 am, David Bailey <d... at removedbailey.co.uk> wrote: > I would forget about the DisplayFunction option - it is more or > less obsolete. If DisplayFunction -> f is used as an option to a Plot function or Show, then f is applied to the result. Since the default value of DisplayFunction is $DisplayFunction, this makes $DisplayFunction something like $Post for graphical commands. This can be quite handy. Here are three example settings for $DisplayFunction. * Create a tooltip when hovering over a graph: $DisplayFunction = Tooltip[#, "On graph!"] &; * Show graph and also auto-export to a file: cnt = 0; $DisplayFunction = ( Export["pic" <> ToString[++cnt] <> ".png",#]; # )&; * Send graphics to another program: df[g_] := Module[ {strm}, strm = OpenWrite["!open -f -a /Applications/Preview.app"]; WriteString[strm, ExportString[g, "EPS"]]; Close[strm] ]; $DisplayFunction = df; After defining $DisplayFunction by entering any of these commands, simply enter a graphical command, like Plot[x^2, {x,-2,2}], to see it in action. The last example is set up to pipe the output to Preview.app on the Mac, but I suppose that something similar would work on the PC. This last one is most interesting if you're running a text based interface, like the Mac Terminal. To get it to work in that context you need to install a front end as well by first entering: Developer`InstallFrontEnd[]; I actually do this frequently when manipulating Mathematica from other programs. So, have fun with DisplayFunction, Mark McClure