Plots.jl/src/themes.jl
2016-10-11 15:36:56 -04:00

79 lines
2.3 KiB
Julia

# const _invisible = RGBA(0,0,0,0)
#
# const _themes = KW(
# :default => KW(
# :bg => :white,
# :bglegend => :match,
# :bginside => :match,
# :bgoutside => :match,
# :fg => :auto,
# :fglegend => :match,
# :fggrid => :match,
# :fgaxis => :match,
# :fgtext => :match,
# :fgborder => :match,
# :fgguide => :match,
# )
# )
# function add_theme(sym::Symbol, theme::KW)
# _themes[sym] = theme
# end
#
# # add a new theme, using an existing theme as the base
# function add_theme(sym::Symbol;
# base = :default, # start with this theme
# bg = _themes[base][:bg],
# bglegend = _themes[base][:bglegend],
# bginside = _themes[base][:bginside],
# bgoutside = _themes[base][:bgoutside],
# fg = _themes[base][:fg],
# fglegend = _themes[base][:fglegend],
# fggrid = _themes[base][:fggrid],
# fgaxis = _themes[base][:fgaxis],
# fgtext = _themes[base][:fgtext],
# fgborder = _themes[base][:fgborder],
# fgguide = _themes[base][:fgguide],
# kw...)
# _themes[sym] = merge(KW(
# :bg => bg,
# :bglegend => bglegend,
# :bginside => bginside,
# :bgoutside => bgoutside,
# :fg => fg,
# :fglegend => fglegend,
# :fggrid => fggrid,
# :fgaxis => fgaxis,
# :fgtext => fgtext,
# :fgborder => fgborder,
# :fgguide => fgguide,
# ), KW(kw))
# end
#
# add_theme(:ggplot2,
# bglegend = :lightgray,
# bginside = :lightgray,
# fg = :black,
# fggrid = :white,
# fgborder = _invisible,
# fgaxis = _invisible
# )
function theme(s::Symbol; kw...)
thm = PlotThemes._themes[s]
PlotUtils._default_gradient[] = s
default(;
bg = thm.bg_secondary,
bginside = thm.bg_primary,
fg = thm.lines,
fgtext = thm.text,
fgguide = thm.text,
fglegend = thm.text,
palette = thm.palette,
kw...
)
end
@deprecate set_theme(s) theme(s)