# Error message when using AoG/Makie with "yscale=log10", for my particular data

**URL:** https://discourse.julialang.org/t/error-message-when-using-aog-makie-with-yscale-log10-for-my-particular-data/82206
**Category:** Visualization
**Created:** [June 3, 2022, 6:30pm UTC](https://discourse.julialang.org/t/error-message-when-using-aog-makie-with-yscale-log10-for-my-particular-data/82206 "2022-06-03T18:30:32Z")
**Posts on this page:** 15
**Page:** 1

<div class="post-metadata">

### Author: ![martinmestre](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/martinmestre/32/215857_2.png) [@martinmestre](https://discourse.julialang.org/u/martinmestre)
#### Post date: [June 3, 2022, 6:30pm UTC](https://discourse.julialang.org/t/error-message-when-using-aog-makie-with-yscale-log10-for-my-particular-data/82206/1 "2022-06-03T18:30:32Z")

</div>

Hello all,  
when running the following piece of code, I obtain an error. I have found out that it is due to the fact of using` yscale=log10`. If I use `yscale=log` there is no problem. In the `x` coordinate I have no problem.

```julia
# %%
plt = Vector{Layer}(undef, length(ϵ))
g = ["black", "red", "blue", "green", "cyan"]
labels = (e->"ϵ=$e").(ϵ)
println(labels)
length(plt)
# %%
for i = 1:length(ϵ)
      ρ_f = rar[i].mass_spline.derivative(1)
      r = rar[i].r
      ρ=ρ_f(r)
      df_plot = (x=r/rₛ, y=ρ./(4*pi*r.^2), grp=fill(labels[i],length(r)))
      plt[i]= data(df_plot)*mapping(:x,:y,color=:grp)*visual(Lines, linewidth=4)
end
draw(sum(plt), axis=(xlabel=L"r [r_{\mathrm{Sch}}]",
                     ylabel=L"$ρ$ [$M_⊙$/kpc³]",
                     limits=((1.e-1,nothing),(1., nothing)),
                     xscale=log10, yscale=log10))|> display

```

The error message is as follows:

```julia
ERROR: InexactError: trunc(Int64, NaN)
Stacktrace:
  [1] trunc
    @ ./float.jl:805 [inlined]
  [2] round
    @ ./float.jl:369 [inlined]
  [3] (::Colon)(start::Float32, step::Float32, stop::Float32)
    @ Base ./twiceprecision.jl:434
  [4] get_minor_tickvalues(i::IntervalsBetween, scale::typeof(log10), tickvalues::Vector{Float32}, vmin::Float32, vmax::Float32)
    @ Makie.MakieLayout ~/.julia/packages/Makie/lgPZh/src/makielayout/lineaxis.jl:665
  [5] (::Makie.MakieLayout.var"#194#225"{Observable{Vector{Float32}}, Observable{Any}, Attributes})(tickvalues::Vector{Float32}, minorticks::IntervalsBetween)
    @ Makie.MakieLayout ~/.julia/packages/Makie/lgPZh/src/makielayout/lineaxis.jl:238
  [6] (::Observables.OnUpdate{Makie.MakieLayout.var"#194#225"{Observable{Vector{Float32}}, Observable{Any}, Attributes}, Tuple{Observable{Vector{Float32}}, Observable{Any}}})(#unused#::Vector{Float32})
    @ Observables ~/.julia/packages/Observables/OFj0u/src/Observables.jl:334
  [7] #invokelatest#2
    @ ./essentials.jl:716 [inlined]
  [8] invokelatest
    @ ./essentials.jl:714 [inlined]
  [9] notify
    @ ~/.julia/packages/Observables/OFj0u/src/Observables.jl:88 [inlined]
 [10] setindex!(observable::Observable{Vector{Float32}}, val::Vector{Float64})
    @ Observables ~/.julia/packages/Observables/OFj0u/src/Observables.jl:248
 [11] (::Makie.MakieLayout.var"#190#221"{Observable{Vector{AbstractString}}, Observable{Vector{Point{2, Float32}}}, Observable{Vector{Float32}}, Observable{Tuple{Float32, Tuple{Float32, Float32}, Bool}}, Observable{Any}, Attributes})(tickvalues_labels_unfiltered::Tuple{Vector{Float64}, Vector{String}}, reversed::Bool)
    @ Makie.MakieLayout ~/.julia/packages/Makie/lgPZh/src/makielayout/lineaxis.jl:213
 [12] (::Observables.OnUpdate{Makie.MakieLayout.var"#190#221"{Observable{Vector{AbstractString}}, Observable{Vector{Point{2, Float32}}}, Observable{Vector{Float32}}, Observable{Tuple{Float32, Tuple{Float32, Float32}, Bool}}, Observable{Any}, Attributes}, Tuple{Observable{Tuple{Vector{Float64}, Vector{String}}}, Observable{Any}}})(#unused#::Tuple{Vector{Float64}, Vector{String}})
    @ Observables ~/.julia/packages/Observables/OFj0u/src/Observables.jl:334
 [13] #invokelatest#2
    @ ./essentials.jl:716 [inlined]
 [14] invokelatest
    @ ./essentials.jl:714 [inlined]
 [15] notify
    @ ~/.julia/packages/Observables/OFj0u/src/Observables.jl:88 [inlined]
 [16] setindex!(observable::Observable{Tuple{Vector{Float64}, Vector{String}}}, val::Tuple{Vector{Float64}, Vector{String}})
    @ Observables ~/.julia/packages/Observables/OFj0u/src/Observables.jl:248
 [17] (::Observables.MapUpdater{Makie.MakieLayout.var"#189#220", Tuple{Vector{Float64}, Vector{String}}})(::Tuple{Float32, Tuple{Float32, Float32}, Bool}, ::Vararg{Any})
    @ Observables ~/.julia/packages/Observables/OFj0u/src/Observables.jl:372
 [18] (::Observables.OnUpdate{Observables.MapUpdater{Makie.MakieLayout.var"#189#220", Tuple{Vector{Float64}, Vector{String}}}, Tuple{Observable{Tuple{Float32, Tuple{Float32, Float32}, Bool}}, Observable{Any}, Observable{Any}, Observable{Any}, Observable{Any}}})(#unused#::Tuple{Float32, Float32})
    @ Observables ~/.julia/packages/Observables/OFj0u/src/Observables.jl:334
 [19] #invokelatest#2
    @ ./essentials.jl:716 [inlined]
 [20] invokelatest
    @ ./essentials.jl:714 [inlined]
 [21] notify
    @ ~/.julia/packages/Observables/OFj0u/src/Observables.jl:88 [inlined]
 [22] setindex!
    @ ~/.julia/packages/Observables/OFj0u/src/Observables.jl:248 [inlined]
 [23] (::Observables.var"#3#4"{Any, Observable{Any}})(value::Tuple{Float32, Float32})
    @ Observables ~/.julia/packages/Observables/OFj0u/src/Observables.jl:58
 [24] #invokelatest#2
    @ ./essentials.jl:716 [inlined]
 [25] invokelatest
    @ ./essentials.jl:714 [inlined]
 [26] notify
    @ ~/.julia/packages/Observables/OFj0u/src/Observables.jl:88 [inlined]
 [27] setindex!
    @ ~/.julia/packages/Observables/OFj0u/src/Observables.jl:248 [inlined]
 [28] (::Makie.MakieLayout.var"#268#299"{Observable{Tuple{Float32, Float32}}, Observable{Tuple{Float32, Float32}}})(lims::GeometryBasics.HyperRectangle{2, Float32})
    @ Makie.MakieLayout ~/.julia/packages/Makie/lgPZh/src/makielayout/layoutables/axis.jl:207
 [29] #invokelatest#2
    @ ./essentials.jl:716 [inlined]
 [30] invokelatest
    @ ./essentials.jl:714 [inlined]
 [31] notify
    @ ~/.julia/packages/Observables/OFj0u/src/Observables.jl:88 [inlined]
 [32] setindex!
    @ ~/.julia/packages/Observables/OFj0u/src/Observables.jl:248 [inlined]
 [33] adjustlimits!(la::Axis)
    @ Makie.MakieLayout ~/.julia/packages/Makie/lgPZh/src/makielayout/layoutables/axis.jl:890
 [34] #282
    @ ~/.julia/packages/Makie/lgPZh/src/makielayout/layoutables/axis.jl:446 [inlined]
 [35] (::Observables.OnUpdate{Makie.MakieLayout.var"#282#315"{Axis}, Tuple{Observable{GeometryBasics.HyperRectangle{2, Int64}}, Observable{GeometryBasics.HyperRectangle{2, Float32}}}})(#unused#::GeometryBasics.HyperRectangle{2, Float32})
    @ Observables ~/.julia/packages/Observables/OFj0u/src/Observables.jl:334
 [36] #invokelatest#2
    @ ./essentials.jl:716 [inlined]
 [37] invokelatest
    @ ./essentials.jl:714 [inlined]
 [38] notify
    @ ~/.julia/packages/Observables/OFj0u/src/Observables.jl:88 [inlined]
 [39] setindex!
    @ ~/.julia/packages/Observables/OFj0u/src/Observables.jl:248 [inlined]
 [40] reset_limits!(ax::Axis; xauto::Bool, yauto::Bool, zauto::Bool)
    @ Makie.MakieLayout ~/.julia/packages/Makie/lgPZh/src/makielayout/layoutables/axis.jl:546
 [41] reset_limits!
    @ ~/.julia/packages/Makie/lgPZh/src/makielayout/layoutables/axis.jl:471 [inlined]
 [42] plot!(::Axis, ::Type{Lines}, ::Attributes, ::Vector{Float64}, ::Vararg{Vector{Float64}}; kw_attributes::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
    @ Makie.MakieLayout ~/.julia/packages/Makie/lgPZh/src/makielayout/layoutables/axis.jl:699
 [43] plot!
    @ ~/.julia/packages/Makie/lgPZh/src/makielayout/layoutables/axis.jl:688 [inlined]
 [44] #plot!#340
    @ ~/.julia/packages/Makie/lgPZh/src/makielayout/layoutables/axis.jl:705 [inlined]
 [45] plot!(ae::AxisEntries)
    @ AlgebraOfGraphics ~/.julia/packages/AlgebraOfGraphics/aCs1Y/src/entries.jl:75
 [46] foreach(f::typeof(plot!), itr::Matrix{AxisEntries})
    @ Base ./abstractarray.jl:2694
 [47] plot!(fig::Figure, s::AlgebraOfGraphics.Layers; axis::NamedTuple{(:xlabel, :ylabel, :limits, :xscale, :yscale), Tuple{LaTeXStrings.LaTeXString, LaTeXStrings.LaTeXString, Tuple{Tuple{Float64, Nothing}, Tuple{Float64, Nothing}}, typeof(log10), typeof(log10)}}, palettes::NamedTuple{(), Tuple{}})
    @ AlgebraOfGraphics ~/.julia/packages/AlgebraOfGraphics/aCs1Y/src/draw.jl:22
 [48] (::AlgebraOfGraphics.var"#237#238"{NamedTuple{(:xlabel, :ylabel, :limits, :xscale, :yscale), Tuple{LaTeXStrings.LaTeXString, LaTeXStrings.LaTeXString, Tuple{Tuple{Float64, Nothing}, Tuple{Float64, Nothing}}, typeof(log10), typeof(log10)}}, NamedTuple{(), Tuple{}}, NamedTuple{(), Tuple{}}, NamedTuple{(), Tuple{}}, NamedTuple{(), Tuple{}}, AlgebraOfGraphics.Layers})(f::Figure)
    @ AlgebraOfGraphics ~/.julia/packages/AlgebraOfGraphics/aCs1Y/src/draw.jl:46
 [49] update
    @ ~/.julia/packages/AlgebraOfGraphics/aCs1Y/src/draw.jl:10 [inlined]
 [50] #draw#236
    @ ~/.julia/packages/AlgebraOfGraphics/aCs1Y/src/draw.jl:45 [inlined]

```

I would appreciate any help with this.

---

<div class="post-metadata">

### Author: ![oheil](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oheil/32/220745_2.png) [@oheil](https://discourse.julialang.org/u/oheil)
#### Post date: [June 5, 2022, 11:30am UTC](https://discourse.julialang.org/t/error-message-when-using-aog-makie-with-yscale-log10-for-my-particular-data/82206/2 "2022-06-05T11:30:36Z")

</div>

It seems some kind of MWE is needed for us to be able to help. I wasn’t able to reproduce the error with some arbitrary data.  
Quoted from [Please read: make it easier to help you](https://discourse.julialang.org/t/please-read-make-it-easier-to-help-you/14757)

> [@Please read: make it easier to help you](https://discourse.julialang.org/t/please-read-make-it-easier-to-help-you/14757/1):
>
> Do your best to make your example **self-contained** (“minimal working example”, **MWE** ), so that it runs (or gets to the error that you want help with) as is. This means including package loading (e.g. `using ThatPackage`) and any **data** that the code operates on. If your data is large or proprietary, generate **example data** if possible and include that. [This StackOverflow answer](https://stackoverflow.com/questions/61723347/how-to-provide-reproducible-sample-data-in-julia/61724167#61724167) explains how a DataFrame can be turned into a string representation that can be copy/pasted.

---

<div class="post-metadata">

### Author: ![martinmestre](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/martinmestre/32/215857_2.png) [@martinmestre](https://discourse.julialang.org/u/martinmestre)
#### Post date: [June 5, 2022, 7:43pm UTC](https://discourse.julialang.org/t/error-message-when-using-aog-makie-with-yscale-log10-for-my-particular-data/82206/3 "2022-06-05T19:43:29Z")

</div>

Thanks, good idea. Here is the MWE. I reduced the arrays 2 orders of magnitude and the error still happens.

```julia
using AlgebraOfGraphics, CairoMakie

G = 4.300923924e-6
c = 2.997925e5 # km s^-1
M_bh = 4.075e6 # M_sun
rₛ = 2.0*G*M_bh / c^2

r = [2.1399874335584637e-16, 1.848243353972948e-15, 1.840394568298999e-14, 2.736140625305719e-13, 4.067858952859116e-12, 6.047743419075033e-11, 1.2276346282545895e-9, 3.9834683097582335e-9, 1.5479418853988395e-8, 1.144703530490389e-5, 0.03997853658533462, 0.2299709640296559, 0.34014964461128394, 0.4385004351724096, 0.5578990663389737, 0.7114672228460812, 0.9763533594505319, 1.1441434177341583, 1.365990861819754, 1.677090936434432, 2.1278111596720937, 2.482194074928288, 3.0585748277163556, 3.6629031104845784, 4.232518651409611, 5.085177118720062, 6.333668025195292, 7.451278025838863, 8.71773209463394, 10.364043898956899, 12.155450557352246, 14.703191697727153, 19.6429523227885, 26.019464547251594]

ρ = [62.68858141177715, 4676.105478962704, 463647.45279899804, 1.0248087227352521e8, 2.265144835945498e10, 5.002159072000619e12, 1.4151751005888295e15, 4.667393019436629e13, 283858.5322671351, 314.4371978961644, 787624.7498009424, 2.559885665449207e7, 5.5881154221265234e7, 9.2702274750115e7, 1.4971039743415692e8, 2.4263111918766952e8, 4.5351182376518166e8, 6.191538695852668e8, 8.745861675682513e8, 1.2983531170562708e9, 2.0334582702784247e9, 2.6963351472150993e9, 3.893154755387953e9, 5.241539631792803e9, 6.531326784553669e9, 8.363005809874252e9, 1.0530668742452e10, 1.17305490765353e10, 1.2173090351170477e10, 1.1494658819116295e10, 9.703525328328575e9, 6.523490406053474e9, 1.8110008280252154e9, 1.650145537603745e7]

df = (x=r/rₛ, y=ρ./(4π*r.^2))
plt = data(df)*mapping(:x,:y)*visual(Lines, linewidth=4)

draw(plt, axis=(xlabel=L"r [r_{\mathrm{Sch}}]",
                     ylabel=L"$ρ$ [$M_⊙$/kpc³]",
                     limits=((1.e-1,nothing),(1., nothing)),
                     xscale=log10, yscale=log10))|> display

```

If I change yscale=log10 to log, the error goes away. With log2 the error also happens.  
I hope this MWE can help you to help me 🙂  
Best.

---

<div class="post-metadata">

### Author: ![oheil](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oheil/32/220745_2.png) [@oheil](https://discourse.julialang.org/u/oheil)
#### Post date: [June 5, 2022, 8:09pm UTC](https://discourse.julialang.org/t/error-message-when-using-aog-makie-with-yscale-log10-for-my-particular-data/82206/4 "2022-06-05T20:09:40Z")

</div>

Yes, this reproduces your error.  
I can’t find a real solution for now, but it seems that the first 8 y-values hit some threshold. If you set your y-limit to some value it plots something:

```julia
draw(plt, axis=(xlabel=L"r [r_{\mathrm{Sch}}]",
                            ylabel=L"$ρ$ [$M_⊙$/kpc³]",
                            limits=((1.e-1,nothing),(1., 1.e29)),
                            xscale=log10, yscale=log10))

```

you are loosing the first 8 values in the graph, but perhaps they don’t hold too much information anyways.  
Perhaps I can dive deeper tomorrow or other people know more than I can provide for now.

---

<div class="post-metadata">

### Author: ![martinmestre](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/martinmestre/32/215857_2.png) [@martinmestre](https://discourse.julialang.org/u/martinmestre)
#### Post date: [June 6, 2022, 5:34pm UTC](https://discourse.julialang.org/t/error-message-when-using-aog-makie-with-yscale-log10-for-my-particular-data/82206/5 "2022-06-06T17:34:53Z")

</div>

Thanks @oheil !  
For this MWE there are 8 y values, but for the original problem this corresponds to 800 values and I cannot loose them. For this case, the y values reach order 10^33.

---

<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 6, 2022, 6:04pm UTC](https://discourse.julialang.org/t/error-message-when-using-aog-makie-with-yscale-log10-for-my-particular-data/82206/6 "2022-06-06T18:04:01Z")

</div>

Haven’t had a chance to look at it precisely yet, but such a thing smells like a Float32 problem. If you want you can poke around in the `get_minor_tickvalues` function a bit that produces the error, see what `tickvalues`, `vmin` and `vmax` are and where the `NaN` is introduced.

---

<div class="post-metadata">

### Author: ![oheil](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oheil/32/220745_2.png) [@oheil](https://discourse.julialang.org/u/oheil)
#### Post date: [June 6, 2022, 6:24pm UTC](https://discourse.julialang.org/t/error-message-when-using-aog-makie-with-yscale-log10-for-my-particular-data/82206/7 "2022-06-06T18:24:36Z")

</div>

Yes, it is exactly this. Currently checking for a tweak…  
AFAIK Makie states that it is working with Float32, so this may be not a bug but intended and so out of scope of Makie. But opening an issue (later) doesn’t harm I guess.

---

<div class="post-metadata">

### Author: ![martinmestre](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/martinmestre/32/215857_2.png) [@martinmestre](https://discourse.julialang.org/u/martinmestre)
#### Post date: [June 6, 2022, 6:24pm UTC](https://discourse.julialang.org/t/error-message-when-using-aog-makie-with-yscale-log10-for-my-particular-data/82206/8 "2022-06-06T18:24:44Z")

</div>

Thanks jules, how can I see those values?  
The data comes from Python through PyCall, but should be doble precision.

---

<div class="post-metadata">

### Author: ![martinmestre](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/martinmestre/32/215857_2.png) [@martinmestre](https://discourse.julialang.org/u/martinmestre)
#### Post date: [June 6, 2022, 6:27pm UTC](https://discourse.julialang.org/t/error-message-when-using-aog-makie-with-yscale-log10-for-my-particular-data/82206/9 "2022-06-06T18:27:47Z")

</div>

Thanks. If I understand correctly, there is a reason for Makie to work with Float32? Do you have any suggestion to overcome this problem?

---

<div class="post-metadata">

### Author: ![oheil](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oheil/32/220745_2.png) [@oheil](https://discourse.julialang.org/u/oheil)
#### Post date: [June 6, 2022, 6:39pm UTC](https://discourse.julialang.org/t/error-message-when-using-aog-makie-with-yscale-log10-for-my-particular-data/82206/10 "2022-06-06T18:39:26Z")

</div>

Yes, I have found a code change, which produces the plot of your MWE and No, I can’t remember the reason for this, perhaps it is because of graphic card calculations, which are Float32 (but again, I am just speculating from not well based knowledge).

In file (I am on Windows, but I think you can find it for your system):  
`c:\Users\oheil\.julia\packages\Makie\lgPZh\src\makielayout\lineaxis.jl`  
In line 662 (the original):

```julia
    if i.mirror
        lastinterval_scaled = scale(tickvalues[end]) - scale(tickvalues[end-1])
        nexttick = invscale(scale(tickvalues[end]) + lastinterval_scaled)

```

change to

```julia
    if i.mirror
        lastinterval_scaled = scale(tickvalues[end]) - scale(tickvalues[end-1])
        nexttick = invscale(scale(Float64(tickvalues[end])) + Float64(lastinterval_scaled))

```

After the changes saved you need to start a new Julia session and Julia will redo the precompiling automatically.

This is just a quick fix for your specific MWE, hopefully it works for your real data. It is by no means a real solution, because it may have side effects.

It would be great if you would open an issue at [GitHub - JuliaPlots/Makie.jl: High level plotting on the GPU.](https://github.com/JuliaPlots/Makie.jl) (check if there isn’t already one!) . You can describe your problem and just link to this thread. But of course the issue might be rejected because of the Float32 premise.

---

<div class="post-metadata">

### Author: ![martinmestre](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/martinmestre/32/215857_2.png) [@martinmestre](https://discourse.julialang.org/u/martinmestre)
#### Post date: [June 6, 2022, 8:12pm UTC](https://discourse.julialang.org/t/error-message-when-using-aog-makie-with-yscale-log10-for-my-particular-data/82206/11 "2022-06-06T20:12:05Z")

</div>

Thank you very much!

---

<div class="post-metadata">

### Author: ![martinmestre](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/martinmestre/32/215857_2.png) [@martinmestre](https://discourse.julialang.org/u/martinmestre)
#### Post date: [July 11, 2022, 9:14pm UTC](https://discourse.julialang.org/t/error-message-when-using-aog-makie-with-yscale-log10-for-my-particular-data/82206/12 "2022-07-11T21:14:35Z")

</div>

Hello.  
I would need some help again with the same issue.  
I have updated to CairoMakie 0.8.8 and the same error appears:  
`ERROR: InexactError: trunc(Int64, NaN)`  
The problem is that when I went to edit the file lineaxis.jl it was already updated. So I do not know where the error comes from now.  
Thank you very much.

---

<div class="post-metadata">

### Author: ![oheil](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oheil/32/220745_2.png) [@oheil](https://discourse.julialang.org/u/oheil)
#### Post date: [July 12, 2022, 7:30am UTC](https://discourse.julialang.org/t/error-message-when-using-aog-makie-with-yscale-log10-for-my-particular-data/82206/13 "2022-07-12T07:30:44Z")

</div>

Perhaps it was not the best tip to change the original files. You can overwrite the function like this:

```julia
import Makie.get_minor_tickvalues

function get_minor_tickvalues(i::IntervalsBetween, scale::Union{typeof(log), typeof(log2), typeof(log10)}, tickvalues, vmin, vmax)

    vals = Float64[]
    length(tickvalues) < 2 && return vals
    n = i.n

    invscale = Makie.inverse_transform(scale)

    if i.mirror
        firstinterval_scaled = scale(tickvalues[2]) - scale(tickvalues[1])
        stepsize = firstinterval_scaled / n
        prevtick = invscale(scale(tickvalues[1]) - firstinterval_scaled)
        stepsize = (tickvalues[1] - prevtick) / n
        v = tickvalues[1] - stepsize
        prepend!(vals, v:-stepsize:vmin)
    end

    for (lo, hi) in zip(@view(tickvalues[1:end-1]), @view(tickvalues[2:end]))
        interval = hi - lo
        stepsize = interval / n
        v = lo
        for i in 1:n-1
            v += stepsize
            push!(vals, v)
        end
    end

    if i.mirror
        lastinterval_scaled = scale(tickvalues[end]) - scale(tickvalues[end-1])
        nexttick = invscale(scale(Float64(tickvalues[end])) + Float64(lastinterval_scaled))
        stepsize = (nexttick - tickvalues[end]) / n
        v = tickvalues[end] + stepsize
        append!(vals, v:stepsize:vmax)
    end

    vals
end

```

---

<div class="post-metadata">

### Author: ![martinmestre](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/martinmestre/32/215857_2.png) [@martinmestre](https://discourse.julialang.org/u/martinmestre)
#### Post date: [July 12, 2022, 4:20pm UTC](https://discourse.julialang.org/t/error-message-when-using-aog-makie-with-yscale-log10-for-my-particular-data/82206/14 "2022-07-12T16:20:24Z")

</div>

Thank you very much. I included your script and it worked. The system required to install Makie because before I was using only CairoMakie.  
Besides renaming this function, my current lineaxis.jl file has the line as follows:

```julia
nexttick = invscale(scale(Float64(tickvalues[end])) + Float64(lastinterval_scaled))

```

But that didn’t work. What could be the reason?  
Should I take out the “Float64()” edition so that it is in its default state ?  
Thank you very much.

---

<div class="post-metadata">

### Author: ![oheil](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oheil/32/220745_2.png) [@oheil](https://discourse.julialang.org/u/oheil)
#### Post date: [July 12, 2022, 7:43pm UTC](https://discourse.julialang.org/t/error-message-when-using-aog-makie-with-yscale-log10-for-my-particular-data/82206/15 "2022-07-12T19:43:16Z")

</div>

> [@martinmestre](#):
>
> But that didn’t work. What could be the reason?

On my system I have 3 Makie version installed:  
….julia\packages\Makie\bwZTV  
….julia\packages\Makie\lgPZh  
….julia\packages\Makie\Riyar

I think, this is how the package manager solves different dependencies.

> [@martinmestre](#):
>
> Should I take out the “Float64()” edition so that it is in its default state ?

You can do this, but I think, it doesn’t harm if you just let it as is, because the changes are innocent enough.
