Skip to content

Commit 7a552e4

Browse files
authored
Add colorscheme spec as vector of color strings (#35)
1 parent a33da71 commit 7a552e4

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

src/Colorfy.jl

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Maps each value in `values` to a color. Colors can be obtained using the [`Color
2222
## Options
2323
2424
* `alphas` - Scalar or a vector of color alphas (default to `Colorfy.defaultalphas(values)`);
25-
* `colorscheme` - Scheme name or a `ColorSchemes.ColorScheme` object (default to `Colorfy.defaultcolorscheme(values)`);
25+
* `colorscheme` - Color scheme specification (default to `Colorfy.defaultcolorscheme(values)`);
2626
* `colorrange` - Tuple with minimum and maximum color values or a symbol that can be passed
2727
to the `rangescale` argument of the `ColorSchemes.get` function (default to `Colorfy.defaultcolorrange(values)`);
2828
"""
@@ -161,10 +161,11 @@ end
161161
"""
162162
Colorfy.ascolorscheme(colorscheme)
163163
164-
Valid `ColorScheme` object for a given `colorscheme`.
164+
Valid `ColorScheme` object for a given `colorscheme` specification.
165165
"""
166166
ascolorscheme(colorscheme::Symbol) = colorschemes[colorscheme]
167167
ascolorscheme(colorscheme::AbstractString) = ascolorscheme(Symbol(colorscheme))
168+
ascolorscheme(colorscheme::AbstractVector) = ColorScheme([parse(Colorant, color) for color in colorscheme])
168169
ascolorscheme(colorscheme::ColorScheme) = colorscheme
169170

170171
"""

test/runtests.jl

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,13 @@ using Test
8080
@test Colorfy.colorscheme(colorfier) == colorschemes[:grays]
8181
@test Colorfy.colorrange(colorfier) == :extrema
8282

83+
colorfier = Colorfier(values, colorscheme=["black", "white"])
84+
@test Colorfy.values(colorfier) == values
85+
@test Colorfy.alphas(colorfier) == fill(1, 10)
86+
@test Colorfy.colorscheme(colorfier)[0.0] == colorant"black"
87+
@test Colorfy.colorscheme(colorfier)[1.0] == colorant"white"
88+
@test Colorfy.colorrange(colorfier) == :extrema
89+
8390
colorfier = Colorfier(values, colorrange=(0.25, 0.75))
8491
@test Colorfy.values(colorfier) == values
8592
@test Colorfy.alphas(colorfier) == fill(1, 10)

0 commit comments

Comments
 (0)