Re: ListPointPlot3D not composable?
- To: mathgroup at smc.vnet.net
- Subject: [mg97508] Re: ListPointPlot3D not composable?
- From: Szabolcs Horvát <szhorvat at gmail.com>
- Date: Sat, 14 Mar 2009 05:41:49 -0500 (EST)
- References: <gpdaam$jpn$1@smc.vnet.net>
congruentialuminaire at yahoo.com wrote:
> Hello MathGroup:
>
> I want to annotate my 3D point plot, so I start with some Epilog
> statements (e.g. Point[]). An example is:
>
> ListPointPlot3D[ReplacePart[Partition[Range[100], 10]
> , {{3, 3} -> None, {5, 7} -> I, {8, 4} -> Missing["NotAvailable"]}]
> , PlotStyle -> PointSize[Large]
> , Epilog -> Point[{6, 6, 50}]
> ]
>
> I kept getting a message like:
>
> "Array {6, 6, 50} has the wrong dimensions for a graphics coordinate
> list."
>
> This does not make sense since this works fine:
>
> Graphics3D@Point[{6, 6, 50}]
>
This is because Epilog takes 2D graphics primitives, even when used with
Graphics3D. Quote from the doc page:
"In three-dimensional graphics, two-dimensional graphics primitives can
be specified by the Epilog option. The graphics primitives are rendered
in a 0,1 coordinate system."
I know, this can be confusing ;)
If you need to annotate your plot, use Show[]:
Show[
PointPlot3D[..., Epilog -> {(* your 2D annotations here *)}],
Graphics3D[ (* your 3D annotations here *) ]
]
I hope this helps,
Szabolcs