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?