# Simple GUI elements on plot

**URL:** https://discourse.julialang.org/t/simple-gui-elements-on-plot/39284
**Category:** General Usage
**Tags:** gui
**Created:** [May 11, 2020, 1:17pm UTC](https://discourse.julialang.org/t/simple-gui-elements-on-plot/39284 "2020-05-11T13:17:23Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![Mikhail\_Kagalenko](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mikhail_kagalenko/32/13257_2.png) [@Mikhail\_Kagalenko](https://discourse.julialang.org/u/Mikhail_Kagalenko)
#### Post date: [May 11, 2020, 1:17pm UTC](https://discourse.julialang.org/t/simple-gui-elements-on-plot/39284/1 "2020-05-11T13:17:23Z")

</div>

Matlab provides tools to build simple GUI applications, i.e., plot with a slider or edit box to change a parameter and observe results. What would be the equivalent package for julia, not requiring installing electron or learning toolkits like GTK?

---

<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: [May 11, 2020, 1:53pm UTC](https://discourse.julialang.org/t/simple-gui-elements-on-plot/39284/2 "2020-05-11T13:53:40Z")

</div>

Probably [GitHub - JuliaGizmos/Interact.jl: Interactive widgets to play with your Julia code](https://github.com/JuliaGizmos/Interact.jl) ?

---

<div class="post-metadata">

### Author: ![Mikhail\_Kagalenko](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mikhail_kagalenko/32/13257_2.png) [@Mikhail\_Kagalenko](https://discourse.julialang.org/u/Mikhail_Kagalenko)
#### Post date: [May 11, 2020, 1:54pm UTC](https://discourse.julialang.org/t/simple-gui-elements-on-plot/39284/3 "2020-05-11T13:54:48Z")

</div>

Isn’t that Electron-based?

---

<div class="post-metadata">

### Author: ![sdanisch](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sdanisch/32/1406_2.png) [@sdanisch](https://discourse.julialang.org/u/sdanisch)
#### Post date: [May 11, 2020, 3:26pm UTC](https://discourse.julialang.org/t/simple-gui-elements-on-plot/39284/4 "2020-05-11T15:26:34Z")

</div>

Yes, although I’d say it’s browser based and Electron is one option 😉  
I guess you’re best bet is Makie & MakieLayout atm:

> **[GitHub - jkrumbiegel/MakieLayout.jl: Layouting for Makie.jl](https://github.com/jkrumbiegel/MakieLayout.jl)**
>
> Layouting for Makie.jl. Contribute to jkrumbiegel/MakieLayout.jl development by creating an account on GitHub.

> **[GitHub - MakieOrg/Makie.jl: Interactive data visualizations and plotting in...](https://github.com/MakieOrg/Makie.jl)**
>
> Interactive data visualizations and plotting in Julia - GitHub - MakieOrg/Makie.jl: Interactive data visualizations and plotting in Julia

---

<div class="post-metadata">

### Author: ![Mikhail\_Kagalenko](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mikhail_kagalenko/32/13257_2.png) [@Mikhail\_Kagalenko](https://discourse.julialang.org/u/Mikhail_Kagalenko)
#### Post date: [May 12, 2020, 1:13pm UTC](https://discourse.julialang.org/t/simple-gui-elements-on-plot/39284/5 "2020-05-12T13:13:02Z")

</div>

Makie doesn’t work without GPU

---

<div class="post-metadata">

### Author: ![sdanisch](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sdanisch/32/1406_2.png) [@sdanisch](https://discourse.julialang.org/u/sdanisch)
#### Post date: [May 12, 2020, 2:06pm UTC](https://discourse.julialang.org/t/simple-gui-elements-on-plot/39284/6 "2020-05-12T14:06:04Z")

</div>

Depends on what you mean by GPU?  
It works with super old onboard GPUs…The only difficulty is a headless server, but I just recently found out that the software mode on newest Mesa works pretty well: [No GPU - Nextjournal](https://nextjournal.com/sdanisch/GLMakie-nogpu/)

If you really can’t use anything OpenGL based, don’t want to use Gtk and no browser tech, I’m afraid the number of frameworks you can use will come close to 0 in most languages.

---

<div class="post-metadata">

### Author: ![davidanthoff](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/davidanthoff/32/223493_2.png) [@davidanthoff](https://discourse.julialang.org/u/davidanthoff)
#### Post date: [May 13, 2020, 10:12am UTC](https://discourse.julialang.org/t/simple-gui-elements-on-plot/39284/7 "2020-05-13T10:12:13Z")

</div>

[VegaLite.jl](https://github.com/queryverse/VegaLite.jl) also has support for simple UI elements that trigger interactive stuff. [This](https://vega.github.io/vega-lite/docs/selection.html) part of the docs goes into more detail.

---

<div class="post-metadata">

### Author: ![Mikhail\_Kagalenko](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mikhail_kagalenko/32/13257_2.png) [@Mikhail\_Kagalenko](https://discourse.julialang.org/u/Mikhail_Kagalenko)
#### Post date: [May 13, 2020, 4:29pm UTC](https://discourse.julialang.org/t/simple-gui-elements-on-plot/39284/8 "2020-05-13T16:29:20Z")

</div>

Again Electron or browser, doesn’t seem to work standalone

---

<div class="post-metadata">

### Author: ![davidanthoff](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/davidanthoff/32/223493_2.png) [@davidanthoff](https://discourse.julialang.org/u/davidanthoff)
#### Post date: [May 13, 2020, 5:38pm UTC](https://discourse.julialang.org/t/simple-gui-elements-on-plot/39284/9 "2020-05-13T17:38:10Z")

</div>

Well, you need _something_ to display things, there is no way around that. You can install [GitHub - queryverse/ElectronDisplay.jl: An Electron.jl based figure and table display.](https://github.com/queryverse/ElectronDisplay.jl) and then VegaLite.jl will use that to display things, and you should not need to configure or install anything manually.
