# Best plot package?

**URL:** <https://discourse.julialang.org/t/best-plot-package/7458>\
**Category:** New to Julia\
**Tags:** juno, plotting, guis\
**Created:** [December 2, 2017, 6:40pm UTC](https://discourse.julialang.org/t/best-plot-package/7458 "2017-12-02T18:40:34Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![Ash\_S](https://avatars.discourse-cdn.com/v4/letter/a/ecb155/32.png) [@Ash\_S](https://discourse.julialang.org/u/Ash_S)\
**Post date:** [December 2, 2017, 6:40pm UTC](https://discourse.julialang.org/t/best-plot-package/7458/1 "2017-12-02T18:40:34Z")

</div>

Hello!

I’m using the Juno IDE and want to have bar graphs pop up on a separate window like a GUI so you can watch it update when its values change. I know Juno has a plotting window but I want it to pop up on its own plotting window outside of the IDE. Does anyone know a good package I can use to do this? Any help would be appreciated! Thanks!

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [December 2, 2017, 6:58pm UTC](https://discourse.julialang.org/t/best-plot-package/7458/2 "2017-12-02T18:58:31Z")

</div>

If you use Plots.jl, just call `gui()` to open up a plotting window with PyPlot or GR. Or use the Plotly backend to open it in a browser.

---

<div class="post-metadata">

**Author:** ![Mason](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mason/32/2423_2.png) [@Mason](https://discourse.julialang.org/u/Mason)\
**Post date:** [December 2, 2017, 7:02pm UTC](https://discourse.julialang.org/t/best-plot-package/7458/3 "2017-12-02T19:02:45Z")

</div>

> [@Ash\_S](#):
>
> Hello!
> 
> I’m using the Juno IDE and want to have bar graphs pop up on a separate window like a GUI so you can watch it update when its values change. I know Juno has a plotting window but I want it to pop up on its own plotting window outside of the IDE. Does anyone know a good package I can use to do this? Any help would be appreciated! Thanks!

If you use atom, the Hydrogen package can run Julia code inline. It has “watched expressions” which sound exactly like what you want. It makes a window on the side of the editor and every time you evaluate a bit of code in the main window it re-evaluates the code you put in your watched expression, in this case a plot. [Here’s an example](https://nteract.gitbooks.io/hydrogen/docs/Usage/GettingStarted.html) which is mostly python code but one can just as easily run Julia code with this.

---

<div class="post-metadata">

**Author:** ![Ash\_S](https://avatars.discourse-cdn.com/v4/letter/a/ecb155/32.png) [@Ash\_S](https://discourse.julialang.org/u/Ash_S)\
**Post date:** [December 2, 2017, 9:35pm UTC](https://discourse.julialang.org/t/best-plot-package/7458/4 "2017-12-02T21:35:07Z")

</div>

I tried using the gui() function but it made a gif. What I want is for me to be able to see the graph update the moment the program changes any values. Do you happen to have any other suggestions? Thanks!

---

<div class="post-metadata">

**Author:** ![Ash\_S](https://avatars.discourse-cdn.com/v4/letter/a/ecb155/32.png) [@Ash\_S](https://discourse.julialang.org/u/Ash_S)\
**Post date:** [December 2, 2017, 9:36pm UTC](https://discourse.julialang.org/t/best-plot-package/7458/5 "2017-12-02T21:36:42Z")

</div>

Hi, I looked at the examples. But the examples are showing the graphs inside the IDE. Is there anything that creates a separate window and updates the graph in real time like a gui?

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [December 2, 2017, 9:48pm UTC](https://discourse.julialang.org/t/best-plot-package/7458/6 "2017-12-02T21:48:38Z")

</div>

> [@Ash\_S](#):
>
> I tried using the gui() function but it made a gif. What I want is for me to be able to see the graph update the moment the program changes any values. Do you happen to have any other suggestions? Thanks!

`gui` with PyPlot for sure is an interactive GUI. GR.jl just doesn’t have interactivity yet.

---

<div class="post-metadata">

**Author:** ![Ash\_S](https://avatars.discourse-cdn.com/v4/letter/a/ecb155/32.png) [@Ash\_S](https://discourse.julialang.org/u/Ash_S)\
**Post date:** [December 2, 2017, 10:19pm UTC](https://discourse.julialang.org/t/best-plot-package/7458/7 "2017-12-02T22:19:58Z")

</div>

Do you have any examples I can try out? Or a link to some examples?

---

<div class="post-metadata">

**Author:** ![Ash\_S](https://avatars.discourse-cdn.com/v4/letter/a/ecb155/32.png) [@Ash\_S](https://discourse.julialang.org/u/Ash_S)\
**Post date:** [December 2, 2017, 10:43pm UTC](https://discourse.julialang.org/t/best-plot-package/7458/8 "2017-12-02T22:43:02Z")

</div>

I tried this code:

using Plots  
pyplot() # Choose a backend  
plot(rand(4,4)) # This will plot to the plot pane  
gui() # This will open up a separate interactive GUI window

It seems like it just gets stuck while running

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [December 2, 2017, 10:50pm UTC](https://discourse.julialang.org/t/best-plot-package/7458/9 "2017-12-02T22:50:14Z")

</div>

> [@Ash\_S](#):
>
> It seems like it just gets stuck while running

Sounds like an installation issue with the PyPlot backend.

---

<div class="post-metadata">

**Author:** ![Ash\_S](https://avatars.discourse-cdn.com/v4/letter/a/ecb155/32.png) [@Ash\_S](https://discourse.julialang.org/u/Ash_S)\
**Post date:** [December 2, 2017, 10:59pm UTC](https://discourse.julialang.org/t/best-plot-package/7458/10 "2017-12-02T22:59:42Z")

</div>

Should I try to install it again?

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [December 2, 2017, 11:12pm UTC](https://discourse.julialang.org/t/best-plot-package/7458/11 "2017-12-02T23:12:26Z")

</div>

Did you try

```julia
Pkg.add("PyPlot")
withenv("PYTHON" => "") do
    Pkg.build("PyPlot")
end

```

---

<div class="post-metadata">

**Author:** ![Ash\_S](https://avatars.discourse-cdn.com/v4/letter/a/ecb155/32.png) [@Ash\_S](https://discourse.julialang.org/u/Ash_S)\
**Post date:** [December 2, 2017, 11:35pm UTC](https://discourse.julialang.org/t/best-plot-package/7458/12 "2017-12-02T23:35:46Z")

</div>

I tried it out but the above code still just keeps running

---

<div class="post-metadata">

**Author:** ![Mason](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mason/32/2423_2.png) [@Mason](https://discourse.julialang.org/u/Mason)\
**Post date:** [December 3, 2017, 1:10am UTC](https://discourse.julialang.org/t/best-plot-package/7458/13 "2017-12-03T01:10:45Z")

</div>

> [@Ash\_S](#):
>
> Hi, I looked at the examples. But the examples are showing the graphs inside the IDE. Is there anything that creates a separate window and updates the graph in real time like a gui?

My bad, I misunderstood your question. Hydrogen won’t let you open and continuously update the file in a separate GUI.

Out of curiosity, why do you need to do it in a separate GUI? Ie. whats wrong with the graph being integrated into your editor?

---

<div class="post-metadata">

**Author:** ![Ash\_S](https://avatars.discourse-cdn.com/v4/letter/a/ecb155/32.png) [@Ash\_S](https://discourse.julialang.org/u/Ash_S)\
**Post date:** [December 3, 2017, 1:15am UTC](https://discourse.julialang.org/t/best-plot-package/7458/14 "2017-12-03T01:15:52Z")

</div>

I was trying to make a status bar window with a user interface I was working on so I thought it would be better to have a separate window to show the bars alongside the gui. But, I think the julia packages are kinda buggy right now so i’m just going to use the glade progress bars.

---

<div class="post-metadata">

**Author:** ![Balinus](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/balinus/32/243_2.png) [@Balinus](https://discourse.julialang.org/u/Balinus)\
**Post date:** [December 4, 2017, 2:30pm UTC](https://discourse.julialang.org/t/best-plot-package/7458/15 "2017-12-04T14:30:12Z")

</div>

Can’t speak for the OP, but I much prefer to have a separate window for plotting. I think it’s because it lets me concentrate on the code, while tuning my figure, so I focus either on the plot or the code.
