From d4ccf0ec624bbbaf2ab613f623121ded716d6a9e Mon Sep 17 00:00:00 2001 From: Thomas Breloff Date: Sat, 23 Apr 2016 09:04:02 -0400 Subject: [PATCH] PLOTS_DEFAULT_BACKEND env variable; closes #200 --- src/backends.jl | 28 ++++++++++++++++++++++------ src/backends/pyplot.jl | 2 +- 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/src/backends.jl b/src/backends.jl index ed99f38d..4e47d6a0 100644 --- a/src/backends.jl +++ b/src/backends.jl @@ -64,14 +64,30 @@ CurrentBackend(sym::Symbol) = CurrentBackend(sym, _backend_instance(sym)) # --------------------------------------------------------- function pickDefaultBackend() - for pkgstr in ("PyPlot", "Immerse", "Qwt", "Gadfly", "GR", "UnicodePlots", "Bokeh", "GLVisualize") - if Pkg.installed(pkgstr) != nothing - return backend(symbol(lowercase(pkgstr))) + env_default = get(ENV, "PLOTS_DEFAULT_BACKEND", "") + if env_default != "" + try + Pkg.installed(env_default) # this will error if not installed + sym = symbol(lowercase(env_default)) + if haskey(_backendType, sym) + return backend(sym) + else + warn("You have set PLOTS_DEFAULT_BACKEND=$env_default but it is not a valid backend package. Choose from:\n\t", + join(sort(_backends), "\n\t")) + end + catch + warn("You have set PLOTS_DEFAULT_BACKEND=$env_default but it is not installed.") + end end - end - # the default if nothing else is installed - backend(:plotly) + for pkgstr in ("PyPlot", "Immerse", "Qwt", "Gadfly", "GR", "UnicodePlots", "Bokeh", "GLVisualize") + if Pkg.installed(pkgstr) != nothing + return backend(symbol(lowercase(pkgstr))) + end + end + + # the default if nothing else is installed + backend(:plotly) end diff --git a/src/backends/pyplot.jl b/src/backends/pyplot.jl index c9cdcad8..2eb177ca 100644 --- a/src/backends/pyplot.jl +++ b/src/backends/pyplot.jl @@ -371,7 +371,7 @@ function _add_series(pkg::PyPlotBackend, plt::Plot, d::KW) # cmap = get_cmap(plt, d) - dumpdict(d, "",true) + # dumpdict(d, "",true) # handle zcolor and get c/cmap # extra_kw = get_extra_kw(plt, d)