Re: Coloring function
- To: mathgroup at smc.vnet.net
- Subject: [mg121477] Re: Coloring function
- From: "Oleksandr Rasputinov" <oleksandr_rasputinov at hmamail.com>
- Date: Fri, 16 Sep 2011 05:49:36 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <j4sdle$sgv$1@smc.vnet.net>
On Thu, 15 Sep 2011 09:40:14 +0100, guiwi <guillaume.witz at yahoo.com> wrote: > Hi everybody. I have a general problem with the coloring method of > ColofFunction. Let's consider a plane of points that one wants to plot > with ListPointPlot3D. If I want to color the points according to their > x position, I write: > > ListPointPlot3D[Flatten[Table[Table[{i, j, 0}, {j, -30, 30}], {i, -30, > 30}], 1], ColorFunction -> Function[{x, y, z}, RGBColor[x, 0, 0]]] > > and that indeed works. But if I want to color according to the > absolute value of x and use > > ColorFunction -> Function[{x, y, z}, RGBColor[Abs[x], 0, 0]] > > the coloring is not symmetrical around the x=0 position, but > identical to the previous case. Another problem is to obtain a radial > coloring with > > ColorFunction -> Function[{x, y, z}, RGBColor[x^2+y^2, 0, 0]] > > where the origin of the radial coloring is not at {0,0} but somewhere > on the edge of the plot. Anyone knows how to control that coloring ? > Thanks. > Guillaume > The option you are looking for is ColorFunctionScaling -> False. However, since RGBColor expects its arguments to be normalised, you will have to do this yourself: ListPointPlot3D[ Flatten[Table[Table[{i, j, 0}, {j, -30, 30}], {i, -30, 30}], 1], ColorFunction -> Function[{x, y, z}, RGBColor[Abs[x]/30, 0, 0]], ColorFunctionScaling -> False ] ListPointPlot3D[ Flatten[Table[Table[{i, j, 0}, {j, -30, 30}], {i, -30, 30}], 1], ColorFunction -> Function[{x, y, z}, RGBColor[(x^2 + y^2)/(2 30^2), 0, 0]], ColorFunctionScaling -> False ]