Merge pull request #1704 from mkborregaard/old_spy

Reinstate scatter-based spy implementation; fix #1682
This commit is contained in:
Michael Krabbe Borregaard 2018-08-29 18:41:20 +02:00 committed by GitHub
commit bad5668ff7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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