gadfly ribbon

This commit is contained in:
Thomas Breloff 2015-09-30 10:36:00 -04:00
parent 1f58ef5140
commit d4c72e6f78
2 changed files with 23 additions and 12 deletions

View File

@ -202,7 +202,7 @@ const _keyAliases = Dict(
:fill => :fillto, :fill => :fillto,
:area => :fillto, :area => :fillto,
:g => :group, :g => :group,
:r => :ribbon, :rib => :ribbon,
:ann => :annotation, :ann => :annotation,
:anns => :annotation, :anns => :annotation,
:annotate => :annotation, :annotate => :annotation,
@ -351,7 +351,7 @@ function getPlotArgs(pkg::PlottingPackage, kw, idx::Int)
d[k] = _plotDefaults[k] d[k] = _plotDefaults[k]
end end
end end
for k in (:xscale, :yscale) for k in (:xscale, :yscale)
if haskey(_scaleAliases, d[k]) if haskey(_scaleAliases, d[k])
d[k] = _scaleAliases[d[k]] d[k] = _scaleAliases[d[k]]

View File

@ -33,7 +33,7 @@ supportedArgs(::GadflyPackage) = [
:nr, :nr,
# :pos, # :pos,
:reg, :reg,
# :ribbon, :ribbon,
:show, :show,
:size, :size,
:title, :title,
@ -253,17 +253,28 @@ function addGadflySeries!(gplt, d::Dict, initargs::Dict)
colorgroup = [] colorgroup = []
end end
# fillto # fillto and ribbon
if d[:fillto] == nothing yminmax = []
yminmax = [] fillto, ribbon = d[:fillto], d[:ribbon]
else
fillto = makevec(d[:fillto]) if fillto != nothing
if ribbon != nothing
warn("Ignoring ribbon arg since fillto is set!")
end
fillto = makevec(fillto)
n = length(fillto) n = length(fillto)
yminmax = [ push!(yminmax, (:ymin, Float64[min(y, fillto[mod1(i,n)]) for (i,y) in enumerate(d[:y])]))
(:ymin, Float64[min(y, fillto[mod1(i,n)]) for (i,y) in enumerate(d[:y])]), push!(yminmax, (:ymax, Float64[max(y, fillto[mod1(i,n)]) for (i,y) in enumerate(d[:y])]))
(:ymax, Float64[max(y, fillto[mod1(i,n)]) for (i,y) in enumerate(d[:y])])
]
push!(gfargs, Gadfly.Geom.ribbon) push!(gfargs, Gadfly.Geom.ribbon)
elseif ribbon != nothing
ribbon = makevec(ribbon)
n = length(ribbon)
@show ribbon
push!(yminmax, (:ymin, Float64[y - ribbon[mod1(i,n)] for (i,y) in enumerate(d[:y])]))
push!(yminmax, (:ymax, Float64[y + ribbon[mod1(i,n)] for (i,y) in enumerate(d[:y])]))
push!(gfargs, Gadfly.Geom.ribbon)
end end
# handle markers # handle markers