39 lines
1.0 KiB
Julia
39 lines
1.0 KiB
Julia
"""
|
|
theme(s::Symbol)
|
|
|
|
Specify the colour theme for plots.
|
|
"""
|
|
function theme(s::Symbol; kw...)
|
|
# Reset to defaults to overwrite active theme
|
|
reset_defaults()
|
|
thm = PlotThemes._themes[s]
|
|
|
|
# Set the theme's gradient as default
|
|
if haskey(thm.defaults, :gradient)
|
|
PlotUtils.clibrary(:misc)
|
|
PlotUtils.default_cgrad(default = :sequential, sequential = PlotThemes.gradient_name(s))
|
|
else
|
|
PlotUtils.clibrary(:Plots)
|
|
PlotUtils.default_cgrad(default = :sequential, sequential = :inferno)
|
|
end
|
|
|
|
# maybe overwrite the theme's gradient
|
|
kw = KW(kw)
|
|
if haskey(kw, :gradient)
|
|
kwgrad = pop!(kw, :gradient)
|
|
for clib in clibraries()
|
|
if kwgrad in cgradients(clib)
|
|
PlotUtils.clibrary(clib)
|
|
PlotUtils.default_cgrad(default = :sequential, sequential = kwgrad)
|
|
break
|
|
end
|
|
end
|
|
end
|
|
|
|
# Set the theme's defaults
|
|
default(; thm.defaults..., kw...)
|
|
return
|
|
end
|
|
|
|
@deprecate set_theme(s) theme(s)
|