# Makie: adding more ticks to log axis

**URL:** <https://discourse.julialang.org/t/makie-adding-more-ticks-to-log-axis/123878>\
**Category:** Visualization\
**Tags:** makie\
**Created:** [December 16, 2024, 10:33am UTC](https://discourse.julialang.org/t/makie-adding-more-ticks-to-log-axis/123878 "2024-12-16T10:33:48Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![aris](https://avatars.discourse-cdn.com/v4/letter/a/258eb7/32.png) [@aris](https://discourse.julialang.org/u/aris)\
**Post date:** [December 16, 2024, 10:33am UTC](https://discourse.julialang.org/t/makie-adding-more-ticks-to-log-axis/123878/1 "2024-12-16T10:33:48Z")

</div>

Hello everyone,

In Makie, what would be the simplest way to add more ticks to the following axis:

![image](https://global.discourse-cdn.com/julialang/original/3X/4/c/4c98b40c04325522f825ca56574b11392d2ea58b.png)

Using `xticks = collect(logrange(1e-5, 1e1, 7))` puts the ticks where I want them to be, but they’re displayed with decimals (0.001) instead of using the notation above (10^-3).

Looking at the [documentation](https://docs.makie.org/dev/reference/blocks/axis#xticks) for xticks, it’s not immediately obvious how “LogTicks” work. Am I missing something perhaps?

Surely the `xticks = (numbers, labels)` method would do the job, but I imagine there must be a more suitable method.

---

<div class="post-metadata">

**Author:** ![barucden](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/barucden/32/26154_2.png) [@barucden](https://discourse.julialang.org/u/barucden)\
**Post date:** [December 16, 2024, 10:47am UTC](https://discourse.julialang.org/t/makie-adding-more-ticks-to-log-axis/123878/2 "2024-12-16T10:47:01Z")

</div>

EDIT: I misread your problem! My reply does not answer your question.

Set `xticks` as you need and set the `xscale` argument of the Axis to `xscale=log10`:

```julia
using CairoMakie
fig = Figure()
ax = Axis(fig[1, 1], xticks=[1, 5, 10, 50, 100], xscale=log10)
scatter!(ax, rand(1:100, 1000), rand(1000))

```

 ![test](https://global.discourse-cdn.com/julialang/original/3X/1/2/12c4c7abd520137c3fdbffc0de85bd090a59d25a.png)

---

<div class="post-metadata">

**Author:** ![aris](https://avatars.discourse-cdn.com/v4/letter/a/258eb7/32.png) [@aris](https://discourse.julialang.org/u/aris)\
**Post date:** [December 16, 2024, 10:54am UTC](https://discourse.julialang.org/t/makie-adding-more-ticks-to-log-axis/123878/3 "2024-12-16T10:54:24Z")

</div>

Here is a MRE for my case (sorry for not including in original post):

```julia
xvalues = collect(logrange(1e-5, 1e1, 7))

f = Figure()
ax = Axis(f[1, 1], xscale = log10, 
          xticks = xvalues
          )

lines!(ax, xvalues, xvalues)

```

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

I would like the ticks to be in powers of 10 instead of decimal numbers.

---

<div class="post-metadata">

**Author:** ![barucden](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/barucden/32/26154_2.png) [@barucden](https://discourse.julialang.org/u/barucden)\
**Post date:** [December 16, 2024, 11:58am UTC](https://discourse.julialang.org/t/makie-adding-more-ticks-to-log-axis/123878/4 "2024-12-16T11:58:39Z")

</div>

How about this:

```julia
f = Figure()
ax = Axis(f[1, 1], xticks=LogTicks(WilkinsonTicks(6, k_min=5)), xscale=log10)
scatter!(ax, rand(1:(10^7), 100000) ./ (10^6), rand(100000))

```

 ![test](https://global.discourse-cdn.com/julialang/original/3X/0/4/04fd315e61df9cc08ec96f687145a2dd89be50bc.png)

---

<div class="post-metadata">

**Author:** ![g2g](https://avatars.discourse-cdn.com/v4/letter/g/41988e/32.png) [@g2g](https://discourse.julialang.org/u/g2g)\
**Post date:** [December 16, 2024, 1:06pm UTC](https://discourse.julialang.org/t/makie-adding-more-ticks-to-log-axis/123878/5 "2024-12-16T13:06:04Z")

</div>

If you are already ok with the default tick labeling and you just want more ticks (without labels), you could try setting the xminorticks interval like this:

```julia
ax.xminorticks = IntervalsBetween(5)

```

---

<div class="post-metadata">

**Author:** ![aris](https://avatars.discourse-cdn.com/v4/letter/a/258eb7/32.png) [@aris](https://discourse.julialang.org/u/aris)\
**Post date:** [December 16, 2024, 1:08pm UTC](https://discourse.julialang.org/t/makie-adding-more-ticks-to-log-axis/123878/6 "2024-12-16T13:08:31Z")

</div>

> [@barucden](#):
>
> `ax = Axis(f[1, 1], xticks=LogTicks(WilkinsonTicks(6, k_min=5)), xscale=log10)`

That seems okay, thanks!

> [@g2g](#):
>
> `ax.xminorticks = IntervalsBetween(5)`

I’d like them labeled in this case, but thanks for the input.

---

<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 16, 2024, 1:09pm UTC](https://discourse.julialang.org/t/makie-adding-more-ticks-to-log-axis/123878/7 "2024-12-16T13:09:10Z")

</div>

You can do `xticks = LogTicks(0:3)` to get 10^0 to 10^3

---

<div class="post-metadata">

**Author:** ![aris](https://avatars.discourse-cdn.com/v4/letter/a/258eb7/32.png) [@aris](https://discourse.julialang.org/u/aris)\
**Post date:** [December 16, 2024, 1:41pm UTC](https://discourse.julialang.org/t/makie-adding-more-ticks-to-log-axis/123878/8 "2024-12-16T13:41:06Z")

</div>

Thanks jules, that’s what I was looking for!

Might be a good idea to add such an example in the documentation?  
The current one reads:

- `LogTicks`, a wrapper that applies any other wrapped tick finder on log-transformed values

, and that doesn’t explain much I’m afraid.

---

<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 16, 2024, 3:32pm UTC](https://discourse.julialang.org/t/makie-adding-more-ticks-to-log-axis/123878/9 "2024-12-16T15:32:49Z")

</div>

Agreed, can you open an issue so we can keep track?

---

<div class="post-metadata">

**Author:** ![aris](https://avatars.discourse-cdn.com/v4/letter/a/258eb7/32.png) [@aris](https://discourse.julialang.org/u/aris)\
**Post date:** [December 16, 2024, 3:47pm UTC](https://discourse.julialang.org/t/makie-adding-more-ticks-to-log-axis/123878/10 "2024-12-16T15:47:48Z")

</div>

[Done](https://github.com/MakieOrg/Makie.jl/issues/4672) 🙂  
“Bug” label was added automatically from github, not sure how to edit it.
