diff --git a/src/recipes.jl b/src/recipes.jl index 972328ea..6ac0d11d 100644 --- a/src/recipes.jl +++ b/src/recipes.jl @@ -1024,10 +1024,6 @@ end @assert length(g.args) == 1 && typeof(g.args[1]) <: AbstractMatrix seriestype := :spy mat = g.args[1] - if length(unique(mat[mat .!= 0])) < 2 - legend --> nothing - seriescolor --> cgrad([invisible(), fg_color(plotattributes)]) - end n,m = size(mat) Plots.SliceIt, 1:m, 1:n, Surface(mat) end @@ -1035,21 +1031,23 @@ end @recipe function f(::Type{Val{:spy}}, x,y,z) yflip := true aspect_ratio := 1 - rs, cs, zs = findnz(z.surf) - newz = fill(NaN, size(z)...) - - for i in eachindex(zs) - newz[rs[i],cs[i]] = zs[i] + xlim := ignorenan_extrema(cs) + ylim := ignorenan_extrema(rs) + if plotattributes[:markershape] == :none + markershape := :circle end - - seriestype := :heatmap + if plotattributes[:markersize] == default(:markersize) + markersize := 1 + end + markerstrokewidth := 0 + marker_z := zs + label := "" + x := cs + y := rs + z := nothing + seriestype := :scatter grid --> false - framestyle --> :box - - x := x - y := y - z := Surface(newz) () end