Date: Jun 17, 2013 6:18 AM
Author: Sseziwa Mukasa
Subject: Re: ListPlot3D

On Jun 16, 2013, at 5:15 AM, amannucci <Anthony.J.Mannucci@jpl.nasa.gov> wrote:

> I could use some help with ListPlot3D. These are examples from the documentation. My preconceived notion of what this should do is place a data point at coordinates {x,y,z} and connect a surface along the z_i. Here is an example from the Mathematica documentation:

>

> ListPlot3D[{{1, 1, 1, 1}, {1, 2, 1, 2}, {1, 1, 3, 1}, {1, 2, 1, 4}},

> Mesh -> All]

> I cannot figure out how to read these data. What are the x,y values?

They are implicit, when given an array with second dimension other than 3 ListPlot3D assumes x goes from 1 to the number of rows and similarly for y and the columns.

> They are apparently "the x and y coordinate values for each data point to be successive integers starting at 1." How does this thread through the data? For the first point, x=1, y=1, z=1. For the last point, x=4,y=4, z= 4. What about intermediate points? I can't figure it out. Is it x=1, y= 1..4, x=2,y=1..4,x=3,y=1..4,x=4,y=1..4? The documentation does not say.

>

> There is also the data triplets. E.g. from the documentation,

> ListPlot3D[{{0, 0, 1}, {1, 0, 0}, {0, 1, 0}}, Mesh -> All]

>

> This I understand. It is a triplet of {x,y,z}. However, when I feed in the following data set, the graph is completely blank:

>

> {{0., 0., 0.}, {0.1, 0.1, 0.248514}, {0.2, 0.2, 0.329812}, {0.3, 0.3,

> 0.324989}, {0.4, 0.4, 0.275382}, {0.5, 0.5, 0.207606}, {0.6, 0.6,

> 0.138975}, {0.7, 0.7, 0.0799098}, {0.8, 0.8, 0.0358315}, {0.9, 0.9,

> 0.008981}, {1., 1., 0.}}

>

> x and y span 0->1. There are z-values, but nothing is plotted. If I manually change the first three data points to be (mimicing the docs):

> {0., 0., 0.}, {1.0, 0.0, 0.248514}, {0., 1., 0.329812}

>

> I then see a surface. I cannot figure this out.

Your data does not define a 2D surface. It defines a 1D curve the graphics primitives for the surface vanish. You could interpolate you data and use ParametricPlot3D:

z=Interpolation[data[[All,2::]],InterpolationOrder->1];

ParametricPlot3D[{u,u,z[u]},{u,0,1}]

>

> Thanks for any help you can provide.

>

>

>