JuliaStats/KernelDensity.jl

why permutedims?

Opened this issue · 0 comments

"Kernel density at corresponding gridpoints `Tuple.(x, permutedims(y))`."

Why do we carry this permutedims? This requires that StatsPlots explicitly perform the inverse transformation to plot a kde correctly, and it makes Plots default functions to plot the kde incorrectly with the most simple interpretation of the result:

julia> using Plots, KernelDensity

julia> x =  vcat(randn(1000), 10 .+ randn(1000));

julia> y = randn(2000);

julia> d = kde((x,y));

julia> heatmap(d.x, d.y, d.density)

julia> scatter!(Tuple.(zip(x,y))

produces:

image

for the records,

julia> heatmap(d.x, d.y, permutedims(d.density))

will produce the correct plot.