colors cgrad and getindex
This commit is contained in:
parent
ea8ccf38db
commit
4c052cb3b3
@ -1,6 +1,31 @@
|
|||||||
|
|
||||||
abstract ColorScheme
|
abstract ColorScheme
|
||||||
|
|
||||||
|
export
|
||||||
|
cgrad
|
||||||
|
|
||||||
|
cgrad() = default_gradient()
|
||||||
|
|
||||||
|
function cgrad(arg, values = nothing; alpha = nothing, scale = :identity)
|
||||||
|
colors = ColorGradient(arg, alpha=alpha).colors
|
||||||
|
values = if values != nothing
|
||||||
|
values
|
||||||
|
elseif scale in (:log, :log10)
|
||||||
|
log10(linspace(1,10,30))
|
||||||
|
elseif scale == :log2
|
||||||
|
log2(linspace(1,2,30))
|
||||||
|
elseif scale == :ln
|
||||||
|
log(linspace(1,pi,30))
|
||||||
|
elseif scale in (:exp, :exp10)
|
||||||
|
(exp10(linspace(0,1,30)) - 1) / 9
|
||||||
|
else
|
||||||
|
linspace(0, 1, length(colors))
|
||||||
|
end
|
||||||
|
ColorGradient(colors, values)
|
||||||
|
end
|
||||||
|
|
||||||
|
# --------------------------------------------------------------
|
||||||
|
|
||||||
getColor(scheme::ColorScheme) = getColor(scheme, 1)
|
getColor(scheme::ColorScheme) = getColor(scheme, 1)
|
||||||
getColorVector(scheme::ColorScheme) = [getColor(scheme)]
|
getColorVector(scheme::ColorScheme) = [getColor(scheme)]
|
||||||
|
|
||||||
@ -103,6 +128,12 @@ immutable ColorGradient <: ColorScheme
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Base.getindex(cs::ColorGradient, i::Integer) = getColor(cs, i)
|
||||||
|
Base.getindex(cs::ColorGradient, z::Number) = getColorZ(cs, z)
|
||||||
|
|
||||||
|
|
||||||
# create a gradient from a symbol (blues, reds, etc) and vector of boundary values
|
# create a gradient from a symbol (blues, reds, etc) and vector of boundary values
|
||||||
function ColorGradient{T<:Real}(s::Symbol, vals::AVec{T} = 0:0; kw...)
|
function ColorGradient{T<:Real}(s::Symbol, vals::AVec{T} = 0:0; kw...)
|
||||||
haskey(_gradients, s) || error("Invalid gradient symbol. Choose from: ", sort(collect(keys(_gradients))))
|
haskey(_gradients, s) || error("Invalid gradient symbol. Choose from: ", sort(collect(keys(_gradients))))
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user