Makie visualize heat distribution on surface


#1

I would like to plot a heat distribution on a 2d sphere, something like this. Here is what I tried:

using Makie

n = 50
m = 2n
θ = range(0,stop=π, length=n)
φ = range(0, stop=2π, length=m)

x = [sin(θ)*cos(φ) for θ in θ, φ in φ]
y = [sin(θ)*sin(φ) for θ in θ, φ in φ]
z = [cos(θ) for θ in θ, φ in φ]

y44(θ,φ) = 3/ 16 * √(35/( 2π)) * exp(4im*φ)*sin(θ)^4
vals = [y44(θ, φ) for θ in θ, φ in φ]

function scale01(xs)
    mi, ma = extrema(xs)
    (xs .- mi) ./ (ma - mi)
end
c = Float32.(scale01(real.(vals))) * RGBf0(1,1,1)

surface(x, y, z, color=c)

However I am not completely satisfied with the result. It seems that Makie does not show exactly the colors given by c but instead adds some extra effects (a light source?). Can I suppress these extra effects?