MathGroup Archive 2008

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

Search the Archive

Re: Fill between points in ListPointPlot3D not working?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg84825] Re: Fill between points in ListPointPlot3D not working?
  • From: Yu-Sung Chang <yusungwri at gmail.com>
  • Date: Wed, 16 Jan 2008 03:22:10 -0500 (EST)
  • References: <fmhpvt$bb6$1@smc.vnet.net>

Dear Gareth,

Filling->{obj->{obj}} form is not supported in 3D, mainly because they
are not well defined in general. I agree that the documentation is
misleading in this topic. We could have supported it in particular
cases (when the multi datasets have exactly the same dimension), but
it would result in some inconsistency.

If two sets are far apart, you can use some intermediate value and do
two fillings. Otherwise, generating multiple lines directly from the
data sounds like the only solution for now.

Yu-Sung Chang
Kernel Technology
Wolfram Research, Inc.

On Jan 15, 2:13 am, Gareth Russell <russ... at njit.edu> wrote:
> Hi,
>
> I have a set of {x,y,z} data points to plot using ListPlointPlot3D. I
> want to drop a line from each point to a value, zHat, representing the
> expected z value for each {x,y} pair, obtained by a function. The
> method I thought would work was to generate a matching set of
> {x,y,zHat} triples, plot both sets of points, and use Filling to create
> the line between each {z,zHat} pair. But I can't get the syntax to
> work, despite the documentation making it seem easy.
>
> Using Mathematica's own data example, here's how to drop a line from
> one set of points to the bottom of the plot, and not do anything with
> the other set:
>
> ListPointPlot3D[{Table[Sin[j^2 + i], {i, 0, 3, 0.1}, {j, 0, 3, 0.1}], =E2=
> =80=A8
>  Table[Sin[j^2 + i] + 3, {i, 0, 3, 0.1}, {j, 0, 3, 0.1}]}, =E2=80=A8 Fill=
> ing ->
> {1 -> Bottom, 2 -> None}]
>
> Now, what I thought would work (and looks like it should, according to
> the docs) is this:
>
> ListPointPlot3D[{Table[Sin[j^2 + i], {i, 0, 3, 0.1}, {j, 0, 3, 0.1}], =E2=
> =80=A8
>  Table[Sin[j^2 + i] + 3, {i, 0, 3, 0.1}, {j, 0, 3, 0.1}]}, =E2=80=A8 Fill=
> ing ->
> {1 -> None, 2 -> {1}}]
>
> {1} is suppose to represent the first 'object', which I take to mean
> the first set of data. But instead I get this:
>
> Filling::invfilling: {1->None,2->{1}} must be Axis, Top, Bottom,
> Automatic, a numerical or a list of valid Filling entries. >>
>
> I cannot get Filling to do the right thing. This:
>
> ListPointPlot3D[{Table[Sin[j^2 + i], {i, 0, 3, 0.1}, {j, 0, 3, 0.1}], =E2=
> =80=A8
>  Table[Sin[j^2 + i] + 3, {i, 0, 3, 0.1}, {j, 0, 3, 0.1}]}, =E2=80=A8 Fill=
> ing ->
> {1 -> None, 2 -> 1}]
>
> Just fills from the second set of points to the value "1". Any
> thoughts, before I do it with graphics primitives?
>
> Thanks...
>
> --
> Gareth Russell
> NJIT


  • Prev by Date: Re: Integral problem
  • Next by Date: Re: Empirical othogonal functions and pure functions
  • Previous by thread: Fill between points in ListPointPlot3D not working?
  • Next by thread: Re: Fill between points in ListPointPlot3D not working?