Re: Contour line colors from z coord of a 3D plot
- To: mathgroup at smc.vnet.net
- Subject: [mg117230] Re: Contour line colors from z coord of a 3D plot
- From: "Kevin J. McCann" <kjm at KevinMcCann.com>
- Date: Sat, 12 Mar 2011 05:08:40 -0500 (EST)
- References: <ilcq8k$igu$1@smc.vnet.net>
Except that Re[Log[x+I y]] produces a number and is continuous across the axis: Try: {Re[Log[-2.0 + I .0001]], Re[Log[-2.0]], Re[Log[-2.0 - I .0001]]} There is a branch cut there or at least that is where one usually puts it, but that does not change the real part. Kevin On 3/11/2011 4:33 AM, Heike Gramberg wrote: > The lack of a plot along the negative real axis comes from the fact that Log[] has a > branch cut along the negative real axis. Since the default setting for the Exclusions > option in ContourPlot is Automatic, these points are excluded from the plot. > If you want to include those points, you could set Exclusions->{} in ContourPlot. > > Heike. > > On 10 Mar 2011, at 21:04, Kevin J. McCann wrote: > >> If you use a ListPlot3D and ListContourPlot instead, it will get rid of >> the annoying and puzzling lack of a plot along the negative real axis. >> >> On 3/10/2011 6:43 AM, Bob Hanlon wrote: >>> Module[{f, ch = Purple, cl = Yellow}, >>> 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], >>> PlotRange -> {-3, 1.5}, >>> ColorFunction -> >>> (Blend[{cl, ch}, #3]&), >>> MeshStyle -> Darker[Gray]], >>> Graphics3D[ >>> ContourPlot[Re[f[x, y]], >>> {x, -2.4, 2.4}, {y, -2, 2}, >>> Axes -> False, >>> Contours -> Table[z, {z, -1, 1, .25}], >>> ContourShading -> None, >>> ContourStyle -> >>> Table[ >>> Blend[{cl, ch}, (z + 1)/2], >>> {z, -1, 1, .25}]][[1]] /. >>> {x_Real, y_Real} -> {x, >>> y, -3}], >>> ViewPoint -> {2.2, -4, 1.3}, >>> ImageSize -> 400]] >>> >>> >>> Bob Hanlon >>> >>> ---- recmath<recmath99 at gmail.com> 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 >>> ] >>> ] >>> >>> >> >