Re: Logarithmic Axes for ListPlot3D
- To: mathgroup at smc.vnet.net
- Subject: [mg102617] Re: [mg102606] Logarithmic Axes for ListPlot3D
- From: "David Park" <djmpark at comcast.net>
- Date: Mon, 17 Aug 2009 04:02:17 -0400 (EDT)
- References: <24065561.1250421628175.JavaMail.root@n11>
Again, Presentations has a CustomTicks expression that generates major and minor linear or log ticks. So Needs["Presentations`Master`"] data2 = data /. {x_, y_, z_} -> {Log10[x], Log10[y], z}; logticks = CustomTicks[Log10, {-4, 4, {1.}, Range[2, 9]}]; surfacecolor = ColorData["Legacy"]["CornflowerBlue"]; Draw3DItems[ {surfacecolor, ListDraw3D[data2, Mesh -> {Range[-3, 4], Range[-4, 2]}]}, NeutralLighting[0, .5, .1, 50 \[Degree]], NiceRotation, Axes -> True, AxesLabel -> {"x", "y", "z"}, Ticks -> {logticks, logticks, Automatic}, BoxRatios -> {1, 1, .5}, ImagePadding -> 30, ImageSize -> 600 ] Since the surface faces "the wrong way" the lighting was rotated to give a better rendition. That put the mesh lines at the decade values. I'm not certain if it's a good idea or not, but we could put a full log mesh on the surface by: logticks = CustomTicks[Log10, {-4, 4, {1.}, Range[2, 9]}]; surfacecolor = ColorData["Legacy"]["CornflowerBlue"]; Draw3DItems[ {surfacecolor, ListDraw3D[data2, Mesh -> {Log10@Flatten@Table[Range[9] 10^n, {n, -3., 4}], Log10@Flatten@Table[Range[9] 10^n, {n, -4., 2}]}]}, NeutralLighting[0, .5, .1, 50 \[Degree]], NiceRotation, Axes -> True, AxesLabel -> {"x", "y", "z"}, Ticks -> {logticks, logticks, Automatic}, BoxRatios -> {1, 1, .5}, ImagePadding -> 30, ImageSize -> 600 ] And we could gradient color the surface with: logticks = CustomTicks[Log10, {-4, 4, {1.}, Range[2, 9]}]; surfacecolor = ColorData["Legacy"]["CornflowerBlue"]; Draw3DItems[ {ListDraw3D[data2, Mesh -> {Log10@Flatten@Table[Range[9] 10^n, {n, -3., 4}], Log10@Flatten@Table[Range[9] 10^n, {n, -4., 2}]}, MeshStyle -> GrayLevel[.6], ColorFunctionScaling -> False, ColorFunction -> Function[{x, y, z}, ColorData["ThermometerColors"][z]]]}, NeutralLighting[1, .8, .6, 50 \[Degree]], NiceRotation, PlotRange -> All, Axes -> True, AxesLabel -> {"x", "y", "z"}, Ticks -> {logticks, logticks, Automatic}, BoxRatios -> {1, 1, .5}, ImagePadding -> 30, ImageSize -> 600 ] David Park djmpark at comcast.net http://home.comcast.net/~djmpark/ From: pasQualle [mailto:pschulthess at googlemail.com] Hi (again) guys, I want to plot the following data into an 3d plot with the x and y axis logarithmic. data={{0.001, 0.0001, 0.00602136}, {0.001, 0.000316228, 0.00606695}, {0.001, 0.001, 0.00621106}, {0.001, 0.00316228, 0.00666622}, {0.001, 0.01, 0.00810011}, {0.001, 0.0316228, 0.012581}, {0.001, 0.1, 0.026241}, {0.001, 0.316228, 0.0650305}, {0.001, 1., 0.157657}, {0.001, 3.16228, 0.319595}, {0.001, 10., 0.51409}, {0.001, 31.6228, 0.685412}, {0.001, 100., 0.8092}, {0.00316228, 0.0001, 0.00196431}, {0.00316228, 0.000316228, 0.00210881}, {0.00316228, 0.001, 0.00256522}, {0.00316228, 0.00316228, 0.00400304}, {0.00316228, 0.01, 0.00849605}, {0.00316228, 0.0316228, 0.0221923}, {0.00316228, 0.1, 0.0610781}, {0.00316228, 0.316228, 0.153901}, {0.00316228, 1., 0.316102}, {0.00316228, 3.16228, 0.510834}, {0.00316228, 10., 0.682336}, {0.00316228, 31.6228, 0.806252}, {0.00316228, 100., 0.886269}, {0.01, 0.0001, 0.00081157}, {0.01, 0.000316228, 0.00126837}, {0.01, 0.001, 0.00270742}, {0.01, 0.00316228, 0.0072042}, {0.01, 0.01, 0.0209111}, {0.01, 0.0316228, 0.0598211}, {0.01, 0.1, 0.152673}, {0.01, 0.316228, 0.314869}, {0.01, 1., 0.509587}, {0.01, 3.16228, 0.681131}, {0.01, 10., 0.805133}, {0.01, 31.6228, 0.885235}, {0.01, 100., 0.933874}, {0.0316228, 0.0001, 0.000858268}, {0.0316228, 0.000316228, 0.00229768}, {0.0316228, 0.001, 0.00679537}, {0.0316228, 0.00316228, 0.0205031}, {0.0316228, 0.01, 0.059401}, {0.0316228, 0.0316228, 0.152157}, {0.0316228, 0.1, 0.314076}, {0.0316228, 0.316228, 0.508507}, {0.0316228, 1., 0.680017}, {0.0316228, 3.16228, 0.804187}, {0.0316228, 10., 0.884501}, {0.0316228, 31.6228, 0.933311}, {0.0316228, 100., 0.961973}, {0.1, 0.0001, 0.00216801}, {0.1, 0.000316228, 0.00666512}, {0.1, 0.001, 0.0203652}, {0.1, 0.00316228, 0.0591966}, {0.1, 0.01, 0.151591}, {0.1, 0.0316228, 0.312552}, {0.1, 0.1, 0.506001}, {0.1, 0.316228, 0.677342}, {0.1, 1., 0.802008}, {0.1, 3.16228, 0.882974}, {0.1, 10., 0.932317}, {0.1, 31.6228, 0.961343}, {0.1, 100., 0.978082}, {0.316228, 0.0001, 0.00662087}, {0.316228, 0.000316228, 0.0202933}, {0.316228, 0.001, 0.0589068}, {0.316228, 0.00316228, 0.150149}, {0.316228, 0.01, 0.308093}, {0.316228, 0.0316228, 0.498423}, {0.316228, 0.1, 0.669163}, {0.316228, 0.316228, 0.795342}, {0.316228, 1., 0.87835}, {0.316228, 3.16228, 0.929385}, {0.316228, 10., 0.959572}, {0.316228, 31.6228, 0.977037}, {0.316228, 100., 0.987018}, {1., 0.0001, 0.0201815}, {1., 0.000316228, 0.0581134}, {1., 0.001, 0.145826}, {1., 0.00316228, 0.294722}, {1., 0.01, 0.475739}, {1., 0.0316228, 0.644528}, {1., 0.1, 0.775089}, {1., 0.316228, 0.864204}, {1., 1., 0.920389}, {1., 3.16228, 0.954145}, {1., 10., 0.973861}, {1., 31.6228, 0.985188}, {1., 100., 0.991636}, {3.16228, 0.0001, 0.0557516}, {3.16228, 0.000316228, 0.133638}, {3.16228, 0.001, 0.260159}, {3.16228, 0.00316228, 0.419575}, {3.16228, 0.01, 0.581765}, {3.16228, 0.0316228, 0.720281}, {3.16228, 0.1, 0.823716}, {3.16228, 0.316228, 0.89358}, {3.16228, 1., 0.937562}, {3.16228, 3.16228, 0.964009}, {3.16228, 10., 0.979472}, {3.16228, 31.6228, 0.988363}, {3.16228, 100., 0.993427}, {10., 0.0001, 0.107778}, {10., 0.000316228, 0.198046}, {10., 0.001, 0.315953}, {10., 0.00316228, 0.461271}, {10., 0.01, 0.617687}, {10., 0.0316228, 0.751537}, {10., 0.1, 0.84783}, {10., 0.316228, 0.910128}, {10., 1., 0.948034}, {10., 3.16228, 0.970314}, {10., 10., 0.983158}, {10., 31.6228, 0.990482}, {10., 100., 0.994633}, {31.6228, 0.0001, 0.129224}, {31.6228, 0.000316228, 0.230745}, {31.6228, 0.001, 0.386007}, {31.6228, 0.00316228, 0.563618}, {31.6228, 0.01, 0.717288}, {31.6228, 0.0316228, 0.82748}, {31.6228, 0.1, 0.898378}, {31.6228, 0.316228, 0.941338}, {31.6228, 1., 0.966522}, {31.6228, 3.16228, 0.981017}, {31.6228, 10., 0.989275}, {31.6228, 31.6228, 0.993953}, {31.6228, 100., 0.996595}, {100., 0.0001, 0.191113}, {100., 0.000316228, 0.354115}, {100., 0.001, 0.542481}, {100., 0.00316228, 0.704481}, {100., 0.01, 0.820011}, {100., 0.0316228, 0.894097}, {100., 0.1, 0.938906}, {100., 0.316228, 0.965147}, {100., 1., 0.980241}, {100., 3.16228, 0.988838}, {100., 10., 0.993707}, {100., 31.6228, 0.996456}, {100., 100., 0.998006}, {316.228, 0.0001, 0.34218}, {316.228, 0.000316228, 0.534132}, {316.228, 0.001, 0.699036}, {316.228, 0.00316228, 0.816645}, {316.228, 0.01, 0.892093}, {316.228, 0.0316228, 0.93774}, {316.228, 0.1, 0.964479}, {316.228, 0.316228, 0.979861}, {316.228, 1., 0.988623}, {316.228, 3.16228, 0.993586}, {316.228, 10., 0.996388}, {316.228, 31.6228, 0.997967}, {316.228, 100., 0.998856}, {1000., 0.0001, 0.528549}, {1000., 0.000316228, 0.694761}, {1000., 0.001, 0.813769}, {1000., 0.00316228, 0.890304}, {1000., 0.01, 0.936676}, {1000., 0.0316228, 0.96386}, {1000., 0.1, 0.979508}, {1000., 0.316228, 0.988422}, {1000., 1., 0.993472}, {1000., 3.16228, 0.996324}, {1000., 10., 0.997931}, {1000., 31.6228, 0.998836}, {1000., 100., 0.999345}, {3162.28, 0.0001, 0.690119}, {3162.28, 0.000316228, 0.810649}, {3162.28, 0.001, 0.888371}, {3162.28, 0.00316228, 0.935529}, {3162.28, 0.01, 0.963197}, {3162.28, 0.0316228, 0.979128}, {3162.28, 0.1, 0.988207}, {3162.28, 0.316228, 0.99335}, {3162.28, 1., 0.996255}, {3162.28, 3.16228, 0.997892}, {3162.28, 10., 0.998814}, {3162.28, 31.6228, 0.999333}, {3162.28, 100., 0.999625}, {10000., 0.0001, 0.807807}, {10000., 0.000316228, 0.88664}, {10000., 0.001, 0.934513}, {10000., 0.00316228, 0.962611}, {10000., 0.01, 0.978795}, {10000., 0.0316228, 0.988018}, {10000., 0.1, 0.993244}, {10000., 0.316228, 0.996195}, {10000., 1., 0.997858}, {10000., 3.16228, 0.998795}, {10000., 10., 0.999322}, {10000., 31.6228, 0.999619}, {10000., 100., 0.999786}} Is this possible? And when, how can I do this? Thank you very much for your kind help. Pascal.