Edit: The new package to install for this comes from the CustomTicks
subpackage of the SciDraw
package (formerly, LevelScheme
).
You first have to install the SciDraw package, it's worth it if you produce a lot of figures. You can see how to do it on the SciDraw guide.
Load the package that you will be using
Get["CustomTicks`"]
Assign a function and do the 3D plot:
function = Log[10, a x + b /. a -> 1];
Plot3D[function, {x, 1, 3}, {b, -1, 3},
PlotRange -> {{1, 3}, {-1, 3}, {-1, 1}},
Ticks -> {LogTicks[10, 1, 3], LogTicks[10, -1, 3], LogTicks[10, -1, 1]}
]
This would produce this figure:
If you wanted to have the yy axis with linear ticks instead you could adapt the Ticks
option above. Here, I also changed the PlotRange
specification and added an AxesLabel
so that it is easier to see.
Plot3D[function, {x, 1, 3}, {b, -1, 3},
PlotRange -> {{1, 2}, {-1, 0}, {-1, 1}},
Ticks -> {LogTicks[10, 1, 3], LinTicks[-1, 0, 0.25, 5],
LogTicks[10, -1, 3]}, AxesLabel -> {"x", "y", "z"}]
The SciDraw
(and more specifically the CustomTicks
) package is really nice to do these things!
LogTicks
(from the LevelScheme package) to rescale the axes. This worked for me $\endgroup$