MathGroup Archive 1992

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Plotting problems

  • To: mathgroup at
  • Subject: Re: Plotting problems
  • From: twj
  • Date: Wed, 18 Nov 92 11:19:01 CST

>I have written an Mma program whose last 3 lines are:
>Show[%,%%,DisplayFunction :> $DisplayFunction]
>When the program is executed the Show function will sometimes(rarely)  

>properly overlay the two previous plots but more often, one of the  

>following error messages are displayed with no graph:
>Show::gtype: String is not a type of graphics.
>Show::gtype: Show is not a type of graphics.
>However when the same 3 lines are executed in the notebook after the  

>program has bees run, the Show function produces the proper plot.

I understand this to mean that there is a block of code like so:

foo[x_] :=
		Show[%,%%,DisplayFunction :> $DisplayFunction]

your problem is that the % and %% refer to the history mechanism that records 

output as you use the mainloop of the Mathematica Kernel and go from one Input 

prompt to another.  The % will refer to the result prior to the Input which started 

the execution of the above block and the %% to the result before that.  If that is 

the problem it is quite natural that when you evaluate the lines independently you 

get the behaviour you expect.    If this is your problem this will work.

foo[x_] :=
	Block[{p1, p2},
		p1 = ListPlot[nodePairs,PlotJoined->True,DisplayFunction->Identity];
		p2 = Plot[S[x],{x,node[[1]],node[[n+1]]},DisplayFunction->Identity];
		Show[p1, p2, DisplayFunction :> $DisplayFunction]

By the way this is absolutely a good way to generate pictures, use the built-in
functions like ListPlot or Plot to do as much of the work as possible.

Tom Wickham-Jones

  • Prev by Date: HypergeometricPFQ
  • Next by Date: External commands into history buffer
  • Previous by thread: Plotting problems
  • Next by thread: Re: Plotting problems