# How to switch between plotting packages and backends, or use two simultaneously?

**URL:** <https://discourse.julialang.org/t/how-to-switch-between-plotting-packages-and-backends-or-use-two-simultaneously/18863>\
**Category:** General Usage\
**Created:** [December 20, 2018, 6:49pm UTC](https://discourse.julialang.org/t/how-to-switch-between-plotting-packages-and-backends-or-use-two-simultaneously/18863 "2018-12-20T18:49:51Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Juan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juan/32/7657_2.png) [@Juan](https://discourse.julialang.org/u/Juan)\
**Post date:** [December 20, 2018, 6:49pm UTC](https://discourse.julialang.org/t/how-to-switch-between-plotting-packages-and-backends-or-use-two-simultaneously/18863/1 "2018-12-20T18:49:51Z")

</div>

If I’m using Plots.jl I can choose the GR backend by typing `gr()`.  
If I’m using Makie how can I change the backend from GL to GR or vice versa?

And if I’m using Plots.jl and I load Makie.jl then all new plots will be generated by Makie. How can I switch back to Plots.jl or vice versa?  
I’ve tried by running` using Plots` again but it doesn’t seem to make any difference.  
How can I know what package and backend are been used by graphic commands (such as scatter(…))?

And more difficult… How can I simultaneously have two windows opened, one with Makie+GL plots and the other one with Plots+GR?

I’m using VS Code and would like to compare different plotting packages. Any solution with Juno or Jupyter is also welcome.

---

<div class="post-metadata">

**Author:** ![nilshg](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nilshg/32/2283_2.png) [@nilshg](https://discourse.julialang.org/u/nilshg)\
**Post date:** [December 20, 2018, 7:28pm UTC](https://discourse.julialang.org/t/how-to-switch-between-plotting-packages-and-backends-or-use-two-simultaneously/18863/2 "2018-12-20T19:28:22Z")

</div>

Re your second paragraph:

```julia
using Plots
a = rand(100)
plot(a) # Plot{Plots.GRBackend() n=1}

using PyPlot
plot(a) # Plot{Plots.GRBackend() n=1}
PyPlot.plot(a) # PyCall.PyObject[1]
@which plot(a) # plot() method from Plots.jl
@which PyPlot.plot(a) # plot() method from PyPlot
```

---

<div class="post-metadata">

**Author:** ![carstenbauer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/carstenbauer/32/4981_2.png) [@carstenbauer](https://discourse.julialang.org/u/carstenbauer)\
**Post date:** [December 20, 2018, 7:53pm UTC](https://discourse.julialang.org/t/how-to-switch-between-plotting-packages-and-backends-or-use-two-simultaneously/18863/3 "2018-12-20T19:53:47Z")

</div>

Note that there is also `import` (instead of `using`) which won’t clutter your global namespace.
