# Beautiful Makie Gallery

**URL:** <https://discourse.julialang.org/t/beautiful-makie-gallery/62523>\
**Category:** Package Announcements\
**Created:** [June 7, 2021, 2:29pm UTC](https://discourse.julialang.org/t/beautiful-makie-gallery/62523 "2021-06-07T14:29:56Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![lazarusA](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lazarusa/32/6571_2.png) [@lazarusA](https://discourse.julialang.org/u/lazarusA)\
**Post date:** [June 7, 2021, 2:29pm UTC](https://discourse.julialang.org/t/beautiful-makie-gallery/62523/1 "2021-06-07T14:29:56Z")

</div>

Not a package but a gallery of Beautiful Makie examples. Take a look, easy to copy and paste scripts to get you started with Makie. [https://lazarusa.github.io/BeautifulMakie/](https://lazarusa.github.io/BeautifulMakie/)

 ![ContourComplexF](https://global.discourse-cdn.com/julialang/original/3X/9/0/90681b0b8433031f17db6edd626956b875b72cb9.png)  
 ![ScatterLogxyCbar](https://global.discourse-cdn.com/julialang/original/3X/d/3/d39e7fba4faf5b34ac8dacefe383d1517f35711c.png)

[https://lazarusa.github.io/BeautifulMakie/](https://lazarusa.github.io/BeautifulMakie/)

Please free to comment and contribute with more examples via PRs. The examples could be simple or as complicated as you can imagine. The point is to show all the things you can do with Makie.

---

<div class="post-metadata">

**Author:** ![LaurentPlagne](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/laurentplagne/32/10103_2.png) [@LaurentPlagne](https://discourse.julialang.org/u/LaurentPlagne)\
**Post date:** [June 7, 2021, 2:42pm UTC](https://discourse.julialang.org/t/beautiful-makie-gallery/62523/2 "2021-06-07T14:42:58Z")

</div>

Awesome!

---

<div class="post-metadata">

**Author:** ![logankilpatrick](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/logankilpatrick/32/38123_2.png) [@logankilpatrick](https://discourse.julialang.org/u/logankilpatrick)\
**Post date:** [June 7, 2021, 3:24pm UTC](https://discourse.julialang.org/t/beautiful-makie-gallery/62523/3 "2021-06-07T15:24:12Z")

</div>

Is it possible to get these into the Makie docs under the gallery so more folks can find them?

---

<div class="post-metadata">

**Author:** ![affans](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/affans/32/11911_2.png) [@affans](https://discourse.julialang.org/u/affans)\
**Post date:** [June 7, 2021, 3:37pm UTC](https://discourse.julialang.org/t/beautiful-makie-gallery/62523/4 "2021-06-07T15:37:38Z")

</div>

Is Makie the defacto Julia plotting library going forward? Currently I use Gnuplot (Gnuplots.jl) which I think makes beautiful plots, but is implemented as macros and not language integrated.

---

<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:** [June 7, 2021, 3:53pm UTC](https://discourse.julialang.org/t/beautiful-makie-gallery/62523/5 "2021-06-07T15:53:11Z")

</div>

Yes definitely a good idea! 🙂 PR would be welcome to add them to the first page of the docs!

---

<div class="post-metadata">

**Author:** ![lazarusA](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lazarusa/32/6571_2.png) [@lazarusA](https://discourse.julialang.org/u/lazarusA)\
**Post date:** [June 7, 2021, 4:08pm UTC](https://discourse.julialang.org/t/beautiful-makie-gallery/62523/6 "2021-06-07T16:08:08Z")

</div>

I do both. I do Gnuplot.jl mainly due to the nice integration with LaTeX. Hopefully, makie will have also that in the near future.

---

<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:** [June 7, 2021, 5:09pm UTC](https://discourse.julialang.org/t/beautiful-makie-gallery/62523/7 "2021-06-07T17:09:30Z")

</div>

> [@affans](#):
>
> Is Makie the defacto Julia plotting library going forward?

Not yet at least. Currently, it’s one growing, promising player in an increasingly vibrant plotting ecosystem with many packages that each have strengths and weaknesses.

> [@affans](#):
>
> I use Gnuplot (Gnuplots.jl) which I think makes beautiful plots, but is implemented as macros and not language integrated.

You may want to check out [Gaston.jl](https://mbaz.github.io/Gaston.jl/stable/) if you want to use Gnuplot, but have more ‘julian’ syntax and such.

---

<div class="post-metadata">

**Author:** ![jules](https://avatars.discourse-cdn.com/v4/letter/j/41988e/32.png) [@jules](https://discourse.julialang.org/u/jules)\
**Post date:** [June 7, 2021, 5:28pm UTC](https://discourse.julialang.org/t/beautiful-makie-gallery/62523/8 "2021-06-07T17:28:19Z")

</div>

Yeah only time will tell what plot libraries people prefer. Makie has a lot of great features and also a lot to catch up on compared to older packages. But we’ve definitely noticed increasing interest and there are more and more people helping to improve

---

<div class="post-metadata">

**Author:** ![rikh](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rikh/32/204104_2.png) [@rikh](https://discourse.julialang.org/u/rikh)\
**Post date:** [June 7, 2021, 5:57pm UTC](https://discourse.julialang.org/t/beautiful-makie-gallery/62523/9 "2021-06-07T17:57:31Z")

</div>

With [AlgebraOfGraphics](https://github.com/JuliaPlots/AlgebraOfGraphics.jl) I see a lot of potential to become the new (and maintained) Gadfly. I‘m definitely going to try to replace my existing Gadly plots.

---

<div class="post-metadata">

**Author:** ![jules](https://avatars.discourse-cdn.com/v4/letter/j/41988e/32.png) [@jules](https://discourse.julialang.org/u/jules)\
**Post date:** [June 7, 2021, 6:09pm UTC](https://discourse.julialang.org/t/beautiful-makie-gallery/62523/10 "2021-06-07T18:09:32Z")

</div>

Yes AlgebraOfGraphics is really promising, especially nice that you can easily tweak the figures it produces after the fact, add other plots, modify legends and axes, etc

---

<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:** [June 7, 2021, 6:15pm UTC](https://discourse.julialang.org/t/beautiful-makie-gallery/62523/11 "2021-06-07T18:15:08Z")

</div>

> [@jules](#):
>
> Makie has a lot of great features and also a lot to catch up on compared to older packages.

At this point, there is almost nothing that I need that Makie can’t do. There are a few things that aren’t as convenient as in, say, ggplot, but the number of things (especially w/r/t figure generation) that are either much harder or impossible to do in other libraries is staggering. I cannot imagine going back…

---

<div class="post-metadata">

**Author:** ![jonathanBieler](https://avatars.discourse-cdn.com/v4/letter/j/82dd89/32.png) [@jonathanBieler](https://discourse.julialang.org/u/jonathanBieler)\
**Post date:** [June 7, 2021, 6:19pm UTC](https://discourse.julialang.org/t/beautiful-makie-gallery/62523/12 "2021-06-07T18:19:06Z")

</div>

Is there way to pass your data and mapping at the same time ? having to pack your data just to unpack them the next line isn’t ideal :

```julia
x = range(-π, π, length=100)
y = sin.(x)
df = (; x, y)
data(df) * mapping(:x, :y) * visual(Lines)

```

In Gadfly you would just do `layer(x = x, y = y, Geom.line)`.

---

<div class="post-metadata">

**Author:** ![sijo](https://avatars.discourse-cdn.com/v4/letter/s/da6949/32.png) [@sijo](https://discourse.julialang.org/u/sijo)\
**Post date:** [June 7, 2021, 6:48pm UTC](https://discourse.julialang.org/t/beautiful-makie-gallery/62523/13 "2021-06-07T18:48:53Z")

</div>

Yeah it would be nice to have something like

```julia
df = (x=[1,2,3], y=[5,5,5])
mapped(df)

```

as equivalent to

```julia
df = (x=[1,2,3], y=[5,5,5])
data(df) * mapping(:x, :y)

```

Edit: I think a better way would be to have

```julia
mapdata([1,2,3], [5,5,5], color=["a", "a", "b"])

```

as equivalent to

```julia
df = (x=[1,2,3], y=[5,5,5], t=["a", "a", "b"])
data(df) * mapping(:x, :y, color=:t)

```

---

<div class="post-metadata">

**Author:** ![EvoArt](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/evoart/32/25357_2.png) [@EvoArt](https://discourse.julialang.org/u/EvoArt)\
**Post date:** [June 7, 2021, 7:57pm UTC](https://discourse.julialang.org/t/beautiful-makie-gallery/62523/14 "2021-06-07T19:57:54Z")

</div>

> [@lazarusA](#):
>
> mainly due to the nice integration with LaTeX

As in the cairotex export? Or just using latex in plots in general?

---

<div class="post-metadata">

**Author:** ![EvoArt](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/evoart/32/25357_2.png) [@EvoArt](https://discourse.julialang.org/u/EvoArt)\
**Post date:** [June 7, 2021, 8:01pm UTC](https://discourse.julialang.org/t/beautiful-makie-gallery/62523/15 "2021-06-07T20:01:05Z")

</div>

> [@kevbonham](#):
>
> but the number of things (especially w/r/t figure generation) that are either much harder or impossible to do in other libraries is staggering.

Do you have examples? I don’t doubt you. I’m just always keen to know things that will make life easier!

---

<div class="post-metadata">

**Author:** ![lazarusA](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lazarusa/32/6571_2.png) [@lazarusA](https://discourse.julialang.org/u/lazarusA)\
**Post date:** [June 7, 2021, 8:02pm UTC](https://discourse.julialang.org/t/beautiful-makie-gallery/62523/16 "2021-06-07T20:02:18Z")

</div>

yes as in cairolatex.

[https://gcalderone.github.io/Gnuplot.jl/v1.4.0/terminals/#The-cairolatex-terminal](https://gcalderone.github.io/Gnuplot.jl/v1.4.0/terminals/#The-cairolatex-terminal)

---

<div class="post-metadata">

**Author:** ![EvoArt](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/evoart/32/25357_2.png) [@EvoArt](https://discourse.julialang.org/u/EvoArt)\
**Post date:** [June 7, 2021, 8:09pm UTC](https://discourse.julialang.org/t/beautiful-makie-gallery/62523/17 "2021-06-07T20:09:47Z")

</div>

Another brilliant thing I wasn’t aware of till today. Do you happen to know if there’s an obvious reason why plots need to be rasterisedduring the export process?

---

<div class="post-metadata">

**Author:** ![lazarusA](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lazarusa/32/6571_2.png) [@lazarusA](https://discourse.julialang.org/u/lazarusA)\
**Post date:** [June 7, 2021, 8:13pm UTC](https://discourse.julialang.org/t/beautiful-makie-gallery/62523/18 "2021-06-07T20:13:01Z")

</div>

nope.

---

<div class="post-metadata">

**Author:** ![lazarusA](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lazarusa/32/6571_2.png) [@lazarusA](https://discourse.julialang.org/u/lazarusA)\
**Post date:** [June 7, 2021, 8:13pm UTC](https://discourse.julialang.org/t/beautiful-makie-gallery/62523/19 "2021-06-07T20:13:57Z")

</div>

You can also check my gallery with Gnuplot  
,  
[https://lazarusa.github.io/gnuplot-examples/](https://lazarusa.github.io/gnuplot-examples/)

---

<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:** [June 7, 2021, 10:56pm UTC](https://discourse.julialang.org/t/beautiful-makie-gallery/62523/20 "2021-06-07T22:56:38Z")

</div>

> [@EvoArt](#):
>
> Do you happen to know if there’s an obvious reason why plots need to be rasterisedduring the export process?

Because it’s ridiculously hard to get text layouts out of latex, and the only feasible way, without reimplementing the layouting, is to export to svg and draw that - which requires a backend that knows how to draw svgs.  
Makie is getting both ways integrated tightly soon with:  
[GitHub - JuliaPlots/MakieTeX.jl: TeX integration in Makie](https://github.com/JuliaPlots/MakieTeX.jl) (svg route)  
[GitHub - Kolaru/MathTeXEngine.jl: A latex math mode engine in pure Julia.](https://github.com/Kolaru/MathTeXEngine.jl) (own parsing + layouting, thanks to @Kolaru )

A little teaser from @jules, who started a deeper integration of MathTexEngine:

```julia
lines(cumsum(randn(1000)),
    axis = (
        title = L"x + y - sin(x) × tan(y) + \sqrt{2}",
        xlabel = L"\lim_{x →\infty} A^j v_{(a + b)_k}^i \sqrt{2} x!= \sqrt{\frac{1+6}{4+a+g}}\int_{0}^{2π} \sin(x) dx",
        ylabel = L"x + y - sin(x) × tan(y) + \sqrt{2}",
    ),
    figure = (fontsize = 18, font = "NewCM10-Regular.otf")
)

```

 ![image](https://global.discourse-cdn.com/julialang/original/3X/b/9/b9c32461cfbb3cd04a689a5fcb51b2980d43a3a9.png)

[Next page](https://discourse.julialang.org/t/beautiful-makie-gallery/62523.md?page=2)
