# Plotting on Raspberry Pi

**URL:** <https://discourse.julialang.org/t/plotting-on-raspberry-pi/24122>\
**Category:** New to Julia\
**Tags:** plotting\
**Created:** [May 11, 2019, 9:23pm UTC](https://discourse.julialang.org/t/plotting-on-raspberry-pi/24122 "2019-05-11T21:23:07Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![klaff](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/klaff/32/7637_2.png) [@klaff](https://discourse.julialang.org/u/klaff)\
**Post date:** [May 11, 2019, 9:23pm UTC](https://discourse.julialang.org/t/plotting-on-raspberry-pi/24122/1 "2019-05-11T21:23:07Z")

</div>

Hi, I’m exploring the use of Julia for prototyping of embedded systems on Raspberry Pi (yes, that’s a bit of a niche) and would like to know if anyone has plotting working (other than UnicodePlots) on the Raspberry Pi. I would like to implement soft real time plotting of data regarding some system being controlled / monitored via the gpios, where by “soft real time” I mean the plot would be updated at least a few times per second on a live running system. I’ve been experimenting with speed and latency of gpio control but I’m struggling to get graphics going. Thanks.

---

<div class="post-metadata">

**Author:** ![kevbonham](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kevbonham/32/216165_2.png) [@kevbonham](https://discourse.julialang.org/u/kevbonham)\
**Post date:** [May 12, 2019, 12:10am UTC](https://discourse.julialang.org/t/plotting-on-raspberry-pi/24122/2 "2019-05-12T00:10:01Z")

</div>

Back in 0.6 era I had Plots.jl working, but I was plotting something on the order of 1/sec and didn’t have auto updating (was just serving a website pointed to the file and manually updating). I’m guessing Makie of probably a better bet for something like this, but don’t know its status on the pi.

---

<div class="post-metadata">

**Author:** ![asinghvi17](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/asinghvi17/32/8272_2.png) [@asinghvi17](https://discourse.julialang.org/u/asinghvi17)\
**Post date:** [May 12, 2019, 12:43am UTC](https://discourse.julialang.org/t/plotting-on-raspberry-pi/24122/3 "2019-05-12T00:43:33Z")

</div>

If you can get `OpenGL` working then Makie should work. However, the startup time and time-to-first plot will be atrocious.

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [May 12, 2019, 7:44am UTC](https://discourse.julialang.org/t/plotting-on-raspberry-pi/24122/4 "2019-05-12T07:44:14Z")

</div>

Using one of the plotting backends directly, eg GR.jl, could be viable. Time to first plot on a desktop is a few seconds. Using a process that you keep alive (eg periodically checking the filesystem for new data, plotting that, saving the output) could work for sub-second plots.

---

<div class="post-metadata">

**Author:** ![Oliver\_Lylloff](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oliver_lylloff/32/9022_2.png) [@Oliver\_Lylloff](https://discourse.julialang.org/u/Oliver_Lylloff)\
**Post date:** [May 12, 2019, 10:33am UTC](https://discourse.julialang.org/t/plotting-on-raspberry-pi/24122/5 "2019-05-12T10:33:01Z")

</div>

GR.jl has a nice real-time audio demo here: [https://github.com/jheinen/GR.jl/blob/master/examples/spectrum.jl](https://github.com/jheinen/GR.jl/blob/master/examples/spectrum.jl)  
Not sure how that runs on smaller devices like a Raspberry Pi though…

---

<div class="post-metadata">

**Author:** ![mbaz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mbaz/32/17295_2.png) [@mbaz](https://discourse.julialang.org/u/mbaz)\
**Post date:** [May 12, 2019, 5:09pm UTC](https://discourse.julialang.org/t/plotting-on-raspberry-pi/24122/6 "2019-05-12T17:09:49Z")

</div>

[Gaston.jl](https://github.com/mbaz/Gaston.jl) is very small (less than 1500 lines of code) and uses gnuplot as a backend. I haven’t run it on a Raspberry Pi yet, but it should be fast enough to generate at least a few plots per second.

---

<div class="post-metadata">

**Author:** ![klaff](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/klaff/32/7637_2.png) [@klaff](https://discourse.julialang.org/u/klaff)\
**Post date:** [May 13, 2019, 5:02am UTC](https://discourse.julialang.org/t/plotting-on-raspberry-pi/24122/7 "2019-05-13T05:02:14Z")

</div>

Thanks for the feedback. If I get something working satisfactorily I’ll report back.

---

<div class="post-metadata">

**Author:** ![Jake](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jake/32/46007_2.png) [@Jake](https://discourse.julialang.org/u/Jake)\
**Post date:** [November 7, 2024, 1:47pm UTC](https://discourse.julialang.org/t/plotting-on-raspberry-pi/24122/8 "2024-11-07T13:47:56Z")

</div>

Bumping this old thread, I am wondering if there are new thoughts for this use case with more modern PI’s?
