Re: Contour line colors from z coord of a 3D plot
- To: mathgroup at smc.vnet.net
- Subject: [mg117190] Re: Contour line colors from z coord of a 3D plot
- From: recmath <recmath99 at gmail.com>
- Date: Thu, 10 Mar 2011 16:04:56 -0500 (EST)
- References: <ilacfg$23d$1@smc.vnet.net>
On Mar 10, 6:25 am, Heike Gramberg <heike.gramb... at gmail.com> wrote:
> What you could do is to supply a list of contour values to ContourPlot using the Contours option, and then set the colour of each of the contours by setting the ContourStyle option to a corresponding list of colours, e.g.
>
> Module[{f, cvals}, f[x_, y_] := Log[x + I y];
> cvals = Range[-3, 1, 0.3];
> logre = Show[
> Plot3D[Re[f[x, y]], {x, -2.4, 2.4}, {y, -2, 2},
> PlotStyle -> Opacity[0.7], Axes -> True, Boxed -> True,
> PlotRange -> {Automatic, Automatic, {-3, 4}},
> ColorFunction -> (Blend[{Yellow, Purple}, #3] &)],
> Graphics3D[
> ContourPlot[Re[f[x, y]], {x, -2.4, 2.4}, {y, -2, 2},
> Axes -> False, ContourShading -> None,
> ColorFunction -> (Blend[{Yellow, Purple}, #] &),
> ContourStyle ->
> Table[Directive[Blend[{Yellow, Purple}, i]], {i, cvals}],
> Contours -> cvals][[1]] /. {x : _Real, y : _Real} -> {x,
> y, -3}], ViewPoint -> {2.2, -4, 1.3}, ImageSize -> 300]]
>
> Heike.
>
> On 9 Mar 2011, at 11:57, recmath wrote:
>
>
>
> > Hi there,
>
> > I'm trying to reproduce this very cool figure:
> >http://en.wikipedia.org/wiki/File:NaturalLogarithmRe.png
>
> > Problem: I can't get the contour lines color-matched to the 3D
> > surface, which is colored according to it's height. My code is below,
> > can anyone help?
>
> > Module[{f}, f[x_, y_] := Log[x + I y];
>
> > logre = Show[Plot3D[Re[f[x, y]], {x, -2.4, 2.4}, {y, -2, 2},
> > PlotStyle -> Opacity[0.7], Axes -> True, Boxed -> True,
> > PlotRange -> {Automatic, Automatic, {-3, 4}},
> > ColorFunction -> (Blend[{Yellow, Purple}, #3] &)],
> > Graphics3D[
> > ContourPlot[Re[f[x, y]], {x, -2.4, 2.4}, {y, -2, 2},
> > Axes -> False, ContourShading -> None,
> > ContourStyle -> Purple][[
> > 1]] /. {x : _Real, y : _Real} -> {x, y, -3}],
> > ViewPoint -> {2.2, -4, 1.3}, ImageSize -> 300
> > ]
> > ]
Thanks for this great answer.