MathGroup Archive 1997

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

Search the Archive

Re: Getting values from a Plot

In article <5mloc9$npu at>, Joe Shamblin
<wjs at> wrote:

> llosas <pere.llosas at> writes:
> > Does anyone know how to get a list with the values calculated to display
> > a graph with the Plot function?  {{x0,y0},{x1,y1},...{xn,yn}}
> You can use something like this, although you have to parse the data a
> bit. There might be a way to get it to automatically output this data
> in a nice form, but I am not aware of one.
> In[4]:= Plot[Sin[x], {x, -10,10}]
> Out[4]= -Graphics-
> In[5]:= InputForm[FullGraphics[%4]]
> Out[5]//InputForm= 
>   Graphics[{{{Line[{{-9.999999166666666, 0.5440204116629069}, 

The best (IMHO) answer has already been provided by Hans Steffani which
was Plot[Sin[x],{x,-10,10}][[1,1,1,1]]. I does appear at first glance to
be mysterious. Your use of InputForm is along the right track. I find it
easier to use TreeForm for working out how to extract parts of an object. 
Typing TreeForm[Plot[Sin[x],{x,-10,10}]] (suppress the plot with
DisplayFunction if you like) gives you a tree form of the expression from
which it is easy to see the list of points plot uses is part [[1,1,1,1]].
This approach lets you work out the position of other things you might
want to extract, like the options used  Plot[Sin[x],{x,-10,10}][[2]]. 

The purpose of this is not to give the solution but point out how the
solution could have been obtained. The use of TreeForm is entirely
optional but does make it easier to work out what is one what level and at
what position.

Another point here. Plot uses some clever routines to determine what the
best points to plot are. When writing your own graphics routines it is
often worthwhile using Plot with the plot suppressed
(DisplayFunction->Identity) to work out the "best" points. For those
interested in these sort of tricks there are two worthwhile items on
MathSource entitled Graphics Programming and Non-Trivial Graphics
Programming. Graphics Programming was written by graphics guru Tom
Wickham-Jones. His package ExtendGraphics is definitely a must both for
the functionality it provides and the ideas the packages can give you.

Alistair Windsor
Mathematics Graduate Student 
Victoria University of Wellington
New Zealand

  • Prev by Date: init.m ? Motif.m ?
  • Next by Date: How can I get Mathlink Developer's Kit for v3.0 student ?
  • Previous by thread: init.m ? Motif.m ?
  • Next by thread: Re: Re: Getting values from a Plot