How do dynamic text content with Makie and record?

Instead of

ii = @lift Int128.($i)
ii = ii[]
areaMC = df.Fx[ii]
error  = dfIntegral.erro[ii]
Δ = dfIntegral.n[ii]
GLMakie.Label(fig[1, 3], "Area: " * string(integralCorreta) * "\nArea MC: " * string(areaMC) * "\nError: " * string(error)* "\nΔA: " * string(Δ))

I think you need something like:

str = lift(ii -> "Area: " * string(integralCorreta) * "\nArea MC: " * string(df.Fx[ii]) * "\nError: " * string(dfIntegral.erro[ii])* "\nΔA: " * string(dfIntegral.n[ii]), i )
Label(fig[1, 3], str)

So using lift to create another observable that depends on the one you already had (i).

or in my opinion a little better looking:

str = lift(ii -> string("Area: " , integralCorreta , "\nArea MC: " , df.Fx[ii] , "\nError: " ,dfIntegral.erro[ii], "\nΔA: " , dfIntegral.n[ii]), i )
Label(fig[1, 3], str)

What you are doing does not work in part because when you do ii = ii[], ii is no longer an observable but just an integer, therefore you are creating the label with a static value.

2 Likes