I’m trying to plot 3D surface plot like the figure below (source: Wikipedia):

Here is my attempt in julia;

x = [-2:0.05:2;]
y = [-1:0.05:3;]
z = (1 .-x').^2 .+ 100 .*(y.-x'.^2).^2
minZ = minimum(z[:]);
maxZ = maximum(z[:]);
c = minZ .+ (maxZ-minZ).*log.(1 .+z .- minZ) ./ log(1+maxZ-minZ)
Plots.plot(x,y,z,st=:surface,color=cgrad(:jet,c),
xlabel = "x",ylabel="y",zlabel="f(x,y)")

Here are my questions:

How can I get the julia plot color map appear like Matlab, even log scale does not work.

View (camera) for Matlab plot Azimuth and Elevation is (-30,30) while julia plot camera option does not work at all.camera = (-30,30). Negative values does not seem to work in camera option. How can me make the view (x and y option) appear similar to matlab.

See, e.g., https://www.w3schools.com/colors/colors_names.asp for names of HTML colors – I think most of them are supported in Plots – you just write the HTML name in lowercase.

Also, see http://docs.juliaplots.org/latest/generated/colorschemes/ for predefined color gradients.

This is excellent. I’m very familiar with gnuplot, thanks for sharing the package and the code. One question, can I save the plot in Julia environment, and further use to add features? Lets say for example, I would like to add 3D quiver plot using Julia commands on top of the surface plot, is that possible, or should I still do this in gnuplot?