consider fillrange in step recipes
This commit is contained in:
parent
a4636fd88d
commit
9e2264c841
@ -140,11 +140,32 @@ function make_steps(x, y, st)
|
|||||||
newx, newy
|
newx, newy
|
||||||
end
|
end
|
||||||
|
|
||||||
|
make_steps(x, st) = x
|
||||||
|
function make_steps(x::AbstractArray, st)
|
||||||
|
n = length(x)
|
||||||
|
n == 0 && return zeros(0)
|
||||||
|
newx = zeros(2n - 1)
|
||||||
|
for i in 1:n
|
||||||
|
idx = 2i - 1
|
||||||
|
newx[idx] = x[i]
|
||||||
|
if i > 1
|
||||||
|
newx[idx - 1] = x[st == :pre ? i : i - 1]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return newx
|
||||||
|
end
|
||||||
|
make_steps(t::Tuple, st) = Tuple(make_steps(ti, st) for ti in t)
|
||||||
|
|
||||||
|
|
||||||
# create a path from steps
|
# create a path from steps
|
||||||
@recipe function f(::Type{Val{:steppre}}, x, y, z)
|
@recipe function f(::Type{Val{:steppre}}, x, y, z)
|
||||||
plotattributes[:x], plotattributes[:y] = make_steps(x, y, :steppre)
|
plotattributes[:x] = make_steps(x, :post)
|
||||||
|
plotattributes[:y] = make_steps(y, :pre)
|
||||||
seriestype := :path
|
seriestype := :path
|
||||||
|
|
||||||
|
# handle fillrange
|
||||||
|
plotattributes[:fillrange] = make_steps(plotattributes[:fillrange], :pre)
|
||||||
|
|
||||||
# create a secondary series for the markers
|
# create a secondary series for the markers
|
||||||
if plotattributes[:markershape] != :none
|
if plotattributes[:markershape] != :none
|
||||||
@series begin
|
@series begin
|
||||||
@ -163,9 +184,13 @@ end
|
|||||||
|
|
||||||
# create a path from steps
|
# create a path from steps
|
||||||
@recipe function f(::Type{Val{:steppost}}, x, y, z)
|
@recipe function f(::Type{Val{:steppost}}, x, y, z)
|
||||||
plotattributes[:x], plotattributes[:y] = make_steps(x, y, :steppost)
|
plotattributes[:x] = make_steps(x, :pre)
|
||||||
|
plotattributes[:y] = make_steps(y, :post)
|
||||||
seriestype := :path
|
seriestype := :path
|
||||||
|
|
||||||
|
# handle fillrange
|
||||||
|
plotattributes[:fillrange] = make_steps(plotattributes[:fillrange], :post)
|
||||||
|
|
||||||
# create a secondary series for the markers
|
# create a secondary series for the markers
|
||||||
if plotattributes[:markershape] != :none
|
if plotattributes[:markershape] != :none
|
||||||
@series begin
|
@series begin
|
||||||
|
|||||||
@ -1051,7 +1051,7 @@ guidefont(ax::Axis) = font(
|
|||||||
|
|
||||||
# ---------------------------------------------------------------
|
# ---------------------------------------------------------------
|
||||||
# converts unicode scientific notation unsupported by pgfplots and gr
|
# converts unicode scientific notation unsupported by pgfplots and gr
|
||||||
# into a format that works
|
# into a format that works
|
||||||
|
|
||||||
function convert_sci_unicode(label::AbstractString)
|
function convert_sci_unicode(label::AbstractString)
|
||||||
unicode_dict = Dict(
|
unicode_dict = Dict(
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user