# Are there any interesting visualization examples in Julia？

**URL:** <https://discourse.julialang.org/t/are-there-any-interesting-visualization-examples-in-julia/62661>\
**Category:** Visualization\
**Created:** [June 10, 2021, 8:07am UTC](https://discourse.julialang.org/t/are-there-any-interesting-visualization-examples-in-julia/62661 "2021-06-10T08:07:28Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![Wind](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/wind/32/25959_2.png) [@Wind](https://discourse.julialang.org/u/Wind)\
**Post date:** [June 10, 2021, 8:07am UTC](https://discourse.julialang.org/t/are-there-any-interesting-visualization-examples-in-julia/62661/1 "2021-06-10T08:07:29Z")

</div>

I found a [web page](https://bost.ocks.org/mike/algorithms/) with a lot of dazzling and interesting javascript visualization examples. It’s true that programming language is the best drawing tool. Since Julia is very fast and easy to use, I assume it can do a lot of visualization work, and even some are difficult to do in other languages. So, are there any interesting visualization examples in Julia about chaos, fractal, CV, NLP, optimization… or anything else?

---

<div class="post-metadata">

**Author:** ![Wikunia](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/wikunia/32/2180_2.png) [@Wikunia](https://discourse.julialang.org/u/Wikunia)\
**Post date:** [June 10, 2021, 8:41am UTC](https://discourse.julialang.org/t/are-there-any-interesting-visualization-examples-in-julia/62661/2 "2021-06-10T08:41:43Z")

</div>

Welcome to the community @Wind  
I think there are some examples created with Plots.jl but I don’t have links for them but some others might. Just saw some on Twitter tagged with #julialang and maybe animation. Another variant is to use Makie.jl for it which supports 3D stuff.

@TheCedarPrince and I wanted to see more of that kind of animations though and created a library for it. It’s definitely not there yet but you mind find it interesting.  
The library: [GitHub - JuliaAnimators/Javis.jl: Julia Animations and Visualizations](https://github.com/Wikunia/Javis.jl)

Some animations:

> [@Fourier draws the Julia logo](https://discourse.julialang.org/t/fourier-draws-the-julia-logo/47309):
>
> What if I told you [Joseph Fourier](https://en.wikipedia.org/wiki/Joseph_Fourier) has learned to draw in Julia? And what if I told you the first thing he wanted to draw was the Julia logo? Well, turns out Fourier was not just a great mathematician but also an artist so his first attempt was a success: I guess I should also mention this was done entirely in Julia. After a bit of pre-processing on the julia logo, the drawing itself was done all with [Javis.jl](https://github.com/Wikunia/Javis.jl) (kudos to @Wikunia and @TheCedarPrince for the amazing package, very e…

Latest:

[![](https://global.discourse-cdn.com/julialang/original/3X/5/4/541e8cba789b7e26ca83476a2bea614badb7ba52.jpeg "Solving Sudokus Like A Human") ](https://www.youtube.com/watch?v=EXAPZUMj_sU)

---

<div class="post-metadata">

**Author:** ![guoyongzhi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/guoyongzhi/32/28306_2.png) [@guoyongzhi](https://discourse.julialang.org/u/guoyongzhi)\
**Post date:** [June 10, 2021, 9:38am UTC](https://discourse.julialang.org/t/are-there-any-interesting-visualization-examples-in-julia/62661/3 "2021-06-10T09:38:26Z")

</div>

I have a package named [**WordCloud.jl**](https://github.com/guo-yong-zhi/WordCloud.jl). Word clouds are used to visualize text data, and **WordCloud.jl** is the most flexible one as far as I can see. It can generate some results that other generators can’t. This is because the non-greedy bin packing algorithm it uses is **flexible** but very **time-consuming**. I’ve taken a lot of optimizations (quadtree, parallelism, generations, LRU, and so on) to ensure it runs fast enough. But I can’t imagine how to implement it without a great language that as **usable** as Python and as **fast** as C 😏.  
Here are some examples.  
[Comparison of Obama’s and Trump’s inaugural address](https://github.com/guo-yong-zhi/WordCloud-Gallery#compare2)  
 ![address_compare2](https://global.discourse-cdn.com/julialang/original/3X/c/f/cf0fd969a40c1468129fb2a93f32e0f9404cf04a.gif)  
[Animation of Training Process](https://github.com/guo-yong-zhi/WordCloud-Gallery#animation)  
 ![animation](https://global.discourse-cdn.com/julialang/original/3X/5/f/5f1501c21cdac4a4f9f1b30ae88f3faa4b00b411.gif)

---

<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 10, 2021, 12:37pm UTC](https://discourse.julialang.org/t/are-there-any-interesting-visualization-examples-in-julia/62661/4 "2021-06-10T12:37:14Z")

</div>

Plots of Gaussian processes at [Home · AbstractGPsMakie.jl](https://juliagaussianprocesses.github.io/AbstractGPsMakie.jl/dev/#Quick-start).

> So, are there any interesting visualization examples in Julia about chaos, fractal, CV, NLP, optimization… or anything else?

For the anything else: [https://lazarusa.github.io/BeautifulMakie/](https://lazarusa.github.io/BeautifulMakie/)

---

<div class="post-metadata">

**Author:** ![lmiq](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lmiq/32/18314_2.png) [@lmiq](https://discourse.julialang.org/u/lmiq)\
**Post date:** [June 10, 2021, 1:24pm UTC](https://discourse.julialang.org/t/are-there-any-interesting-visualization-examples-in-julia/62661/5 "2021-06-10T13:24:31Z")

</div>

> [@Seven Lines of Julia (examples sought)](https://discourse.julialang.org/t/seven-lines-of-julia-examples-sought/50416/45):
>
> @FedericoStra, found interesting to perform a zoom-in loop and recompute your fractal and to use animated gif technique shown by @lmiq to create: [mandelbrot\_zooms] xc, yc = -0.55, 0.61; x0, x1 = xc - 2, xc + 2; y0, y1 = yc - 2, yc + 2; anim = @animate for t in 1:50 x, y = range(x0, x1; length=1000), range(y0, y1; length=1000) heatmap(x, y, -log.(mandelbrot.(x' .+ y .\* im));aspect\_ratio=1,border=:none,legend=:none); x0, x1 = (15x0 + x1)/16, (15x1 + x0)/16; y0, y1 = (15y0 + y1)/16…

There are other cool examples in that thread.

---

<div class="post-metadata">

**Author:** ![Wind](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/wind/32/25959_2.png) [@Wind](https://discourse.julialang.org/u/Wind)\
**Post date:** [June 11, 2021, 2:18am UTC](https://discourse.julialang.org/t/are-there-any-interesting-visualization-examples-in-julia/62661/6 "2021-06-11T02:18:42Z")

</div>

Thank you. Javis is full of magic!!

---

<div class="post-metadata">

**Author:** ![Wind](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/wind/32/25959_2.png) [@Wind](https://discourse.julialang.org/u/Wind)\
**Post date:** [June 11, 2021, 2:37am UTC](https://discourse.julialang.org/t/are-there-any-interesting-visualization-examples-in-julia/62661/7 "2021-06-11T02:37:56Z")

</div>

WordCloud is really an interesting stuff. The text data is clear at a glance. BTW, the comparison GIF is impressive.

---

<div class="post-metadata">

**Author:** ![Freya\_the\_Goddess](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/freya_the_goddess/32/36835_2.png) [@Freya\_the\_Goddess](https://discourse.julialang.org/u/Freya_the_Goddess)\
**Post date:** [August 1, 2022, 6:13am UTC](https://discourse.julialang.org/t/are-there-any-interesting-visualization-examples-in-julia/62661/8 "2022-08-01T06:13:37Z")

</div>

I love Alice !!!

Great package you have made.

---

<div class="post-metadata">

**Author:** ![rafael.guerra](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rafael.guerra/32/216610_2.png) [@rafael.guerra](https://discourse.julialang.org/u/rafael.guerra)\
**Post date:** [August 1, 2022, 6:46am UTC](https://discourse.julialang.org/t/are-there-any-interesting-visualization-examples-in-julia/62661/9 "2022-08-01T06:46:10Z")

</div>

> [@Freya\_the\_Goddess](#):
>
> I love Alice !!!

Which visualization package is this?

---

<div class="post-metadata">

**Author:** ![Freya\_the\_Goddess](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/freya_the_goddess/32/36835_2.png) [@Freya\_the\_Goddess](https://discourse.julialang.org/u/Freya_the_Goddess)\
**Post date:** [August 1, 2022, 6:55am UTC](https://discourse.julialang.org/t/are-there-any-interesting-visualization-examples-in-julia/62661/10 "2022-08-01T06:55:26Z")

</div>

> <https://github.com/guo-yong-zhi/WordCloud.jl/blob/master/examples/alice.jl>

---

<div class="post-metadata">

**Author:** ![maxkapur](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/maxkapur/32/21208_2.png) [@maxkapur](https://discourse.julialang.org/u/maxkapur)\
**Post date:** [August 1, 2022, 7:23am UTC](https://discourse.julialang.org/t/are-there-any-interesting-visualization-examples-in-julia/62661/11 "2022-08-01T07:23:52Z")

</div>

Neat… What’s the objective function for something like this?

---

<div class="post-metadata">

**Author:** ![Freya\_the\_Goddess](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/freya_the_goddess/32/36835_2.png) [@Freya\_the\_Goddess](https://discourse.julialang.org/u/Freya_the_Goddess)\
**Post date:** [August 1, 2022, 10:27am UTC](https://discourse.julialang.org/t/are-there-any-interesting-visualization-examples-in-julia/62661/12 "2022-08-01T10:27:35Z")

</div>

Can we rank the most said words? like how many `America` word has been said.

---

<div class="post-metadata">

**Author:** ![guoyongzhi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/guoyongzhi/32/28306_2.png) [@guoyongzhi](https://discourse.julialang.org/u/guoyongzhi)\
**Post date:** [August 1, 2022, 11:21am UTC](https://discourse.julialang.org/t/are-there-any-interesting-visualization-examples-in-julia/62661/13 "2022-08-01T11:21:45Z")

</div>

Do you mean rank words in a specific document? If my understanding is correct, it can be easily done by something like that

```julia
using WordCloud
doc = pkgdir(WordCloud) * "/res/alice.txt"
sort(collect(countwords(open(doc))), by=last, rev=true)

```

> 3019-element Vector{Pair{String, Int64}}:  
> “the” =\> 1530  
> “and” =\> 803  
> “to” =\> 725  
> “it” =\> 523  
> “she” =\> 506  
> “of” =\> 503  
> “said” =\> 456  
> “Alice” =\> 398  
> “in” =\> 359  
> ⋮

---

<div class="post-metadata">

**Author:** ![guoyongzhi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/guoyongzhi/32/28306_2.png) [@guoyongzhi](https://discourse.julialang.org/u/guoyongzhi)\
**Post date:** [August 1, 2022, 11:58am UTC](https://discourse.julialang.org/t/are-there-any-interesting-visualization-examples-in-julia/62661/14 "2022-08-01T11:58:34Z")

</div>

It’s not so much like a common optimization problem, which has a continuous and differentiable optimization objective function. For a nesting problem(or packing problem), the objective function can be `density` (minimize the waste of material). But for word cloud, high density is not the only target. It just try to get a well distributed (evenly scattered) layout on a set density. The uniformity is achieved by initialization. The only constraint of optimization is that words should not overlap each other. So, if there is any overlap, the value of the objective function is infinite, otherwise it is 0.  
The package [Stuffing.jl](https://github.com/guo-yong-zhi/Stuffing.jl) provides optimization algorithm for WordCloud.jl. The introduction of the algorithm can be found [here](https://github.com/guo-yong-zhi/Stuffing.jl#algorithm-description).

---

<div class="post-metadata">

**Author:** ![maxkapur](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/maxkapur/32/21208_2.png) [@maxkapur](https://discourse.julialang.org/u/maxkapur)\
**Post date:** [August 1, 2022, 12:09pm UTC](https://discourse.julialang.org/t/are-there-any-interesting-visualization-examples-in-julia/62661/15 "2022-08-01T12:09:23Z")

</div>

Aha, so something like

```nohighlight
   maximize Base font size
 subject to Everything fits in the frame
              No words overlap each other

```

?

Very cool project, I might try copying the algorithm one day as an exercise…

---

<div class="post-metadata">

**Author:** ![guoyongzhi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/guoyongzhi/32/28306_2.png) [@guoyongzhi](https://discourse.julialang.org/u/guoyongzhi)\
**Post date:** [August 1, 2022, 12:41pm UTC](https://discourse.julialang.org/t/are-there-any-interesting-visualization-examples-in-julia/62661/16 "2022-08-01T12:41:00Z")

</div>

The `Base font size` is calculated according to the set density in advance and remains unchanged throughout the optimization process.

---

<div class="post-metadata">

**Author:** ![Freya\_the\_Goddess](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/freya_the_goddess/32/36835_2.png) [@Freya\_the\_Goddess](https://discourse.julialang.org/u/Freya_the_Goddess)\
**Post date:** [August 2, 2022, 5:37am UTC](https://discourse.julialang.org/t/are-there-any-interesting-visualization-examples-in-julia/62661/17 "2022-08-02T05:37:48Z")

</div>

This package of yours can be great, imagine if we can use sensor that read people mind and know what they think mostly everyday, in a week, in a month, in a year. Then gather all people in a planet…
