# How to add captions in Makie?

**URL:** <https://discourse.julialang.org/t/how-to-add-captions-in-makie/73800>\
**Category:** General Usage\
**Tags:** plotting, makie\
**Created:** [December 30, 2021, 2:58am UTC](https://discourse.julialang.org/t/how-to-add-captions-in-makie/73800 "2021-12-30T02:58:39Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![aachener](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aachener/32/18112_2.png) [@aachener](https://discourse.julialang.org/u/aachener)\
**Post date:** [December 30, 2021, 2:58am UTC](https://discourse.julialang.org/t/how-to-add-captions-in-makie/73800/1 "2021-12-30T02:58:39Z")

</div>

Hello guys,

I am just wondering how to add captions to figures in Makie, as highlighted in the following picture in red? I tried annotations() and text() but the effect are not satisfactory. Maybe I used them in a wrong way. Anyone may help me out? Thanks!

 ![temp](https://global.discourse-cdn.com/julialang/original/3X/5/b/5b682025aac3cba17ea24e17e4ca4966be534e5d.jpeg)

---

<div class="post-metadata">

**Author:** ![jzr](https://avatars.discourse-cdn.com/v4/letter/j/eb9ed0/32.png) [@jzr](https://discourse.julialang.org/u/jzr)\
**Post date:** [December 30, 2021, 4:45am UTC](https://discourse.julialang.org/t/how-to-add-captions-in-makie/73800/2 "2021-12-30T04:45:44Z")

</div>

This is a job for the document generator like LaTeX or Franklin.jl, not Makie.

---

<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:** [December 30, 2021, 7:55am UTC](https://discourse.julialang.org/t/how-to-add-captions-in-makie/73800/3 "2021-12-30T07:55:24Z")

</div>

You can put a big block of text into a Figure with `Label`, but it doesn’t have text styling beyond a single font.

---

<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:** [December 30, 2021, 8:33am UTC](https://discourse.julialang.org/t/how-to-add-captions-in-makie/73800/4 "2021-12-30T08:33:45Z")

</div>

We can use Unicode bold math letters 🙂

```julia
f = Figure(resolution=(300, 200))
scatter(f[1,1], rand(5))
Label(f[2,1], "𝗙𝗶𝗴𝘂𝗿𝗲 𝟭 A few random values")
f

```

![image](https://global.discourse-cdn.com/julialang/original/3X/7/0/7092b435b56a7bb36412b8f29c989c4a766a04b2.png)

---

<div class="post-metadata">

**Author:** ![aachener](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aachener/32/18112_2.png) [@aachener](https://discourse.julialang.org/u/aachener)\
**Post date:** [December 30, 2021, 8:35am UTC](https://discourse.julialang.org/t/how-to-add-captions-in-makie/73800/5 "2021-12-30T08:35:49Z")

</div>

How could we do that using text!() ? I wrote the following code under Julia 1.7.0 and  
CairoMakie 0.6.6，the text is always in the plotting area.

```julia
using CairoMakie
CairoMakie.activate!()

function text_as_caption()
    lines(1:0.1:10, sin.(1:0.1:10))
    text!("This is caption.", position = (0, -10))
    current_figure()
end

text_as_caption()

```

---

<div class="post-metadata">

**Author:** ![aachener](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aachener/32/18112_2.png) [@aachener](https://discourse.julialang.org/u/aachener)\
**Post date:** [December 30, 2021, 8:44am UTC](https://discourse.julialang.org/t/how-to-add-captions-in-makie/73800/6 "2021-12-30T08:44:08Z")

</div>

Thanks! This is cool!

I still have 2 more questions:

1. how to make _Figure 1_ to be bold face?
2. if I want the caption to be left-aligned, how could I do that? I tried in the following code under Julia 1.7.0 and CairoMakie 0.6.6, but the result is weird.

```julia
using CairoMakie
CairoMakie.activate!()

function text_as_caption()
    fig = Figure(resolution = (600, 600))
    lines(fig[1,1],1:0.1:10, sin.(1:0.1:10))
    Label(fig[2,1, TopLeft()], "This is a caption.",
        tellheight = true)
    current_figure()
end

text_as_caption()

```

---

<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:** [December 30, 2021, 11:51am UTC](https://discourse.julialang.org/t/how-to-add-captions-in-makie/73800/7 "2021-12-30T11:51:25Z")

</div>

1. You can use a website such as [Bold and Italic Text Generators - 𝐁𝐨𝐥𝐝 𝒂𝒏𝒅 𝑖𝑡𝑎𝑙𝑖𝑐𝑠](https://yaytext.com/bold-italic/) to easily get bold text that you can copy-paste in your Julia program.

2. You can use something like this:

---

<div class="post-metadata">

**Author:** ![cormullion](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cormullion/32/49131_2.png) [@cormullion](https://discourse.julialang.org/u/cormullion)\
**Post date:** [December 30, 2021, 11:56am UTC](https://discourse.julialang.org/t/how-to-add-captions-in-makie/73800/8 "2021-12-30T11:56:16Z")

</div>

> [@sijo](#):
>
> easily get bold text that you can copy-paste in your Julia program.

there’s [Zalgo.jl](https://cormullion.github.io/Zalgo.jl/dev/#Utilities) as well. 🕶

---

<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:** [December 30, 2021, 12:04pm UTC](https://discourse.julialang.org/t/how-to-add-captions-in-makie/73800/9 "2021-12-30T12:04:04Z")

</div>

Ah nice! but it seems it doesn’t support digits, e.g. `boldsans("Figure 1")` returns  
`"𝗙𝗶𝗴𝘂𝗿𝗲 "` ?

---

<div class="post-metadata">

**Author:** ![cormullion](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cormullion/32/49131_2.png) [@cormullion](https://discourse.julialang.org/u/cormullion)\
**Post date:** [December 30, 2021, 12:22pm UTC](https://discourse.julialang.org/t/how-to-add-captions-in-makie/73800/10 "2021-12-30T12:22:34Z")

</div>

Oh, good point. I will add them in the next release.

---

<div class="post-metadata">

**Author:** ![aachener](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aachener/32/18112_2.png) [@aachener](https://discourse.julialang.org/u/aachener)\
**Post date:** [December 30, 2021, 12:42pm UTC](https://discourse.julialang.org/t/how-to-add-captions-in-makie/73800/11 "2021-12-30T12:42:14Z")

</div>

Many thanks! it works fine for me 😀

I found Makie’s document is comprehensive but lack of organization with many details spattering around everywhere…

---

<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:** [December 30, 2021, 4:02pm UTC](https://discourse.julialang.org/t/how-to-add-captions-in-makie/73800/12 "2021-12-30T16:02:39Z")

</div>

Always good to make an issue if you don’t find something! It grows kind of organically, so sometimes the structure needs to be refactored
