I have:
using Makie
scene = Scene(resolution = (1200, 1400))
lines!(scene, randn(10))
# display(scene)
display(title(scene, "Title"))
which changes the resolution compared to using just display(scene)
. What is the way to preserve previous scene
settings?
axis = scene[Axis]
axis.names.title = "My Title"
1 Like
Thank you. It works for plots with axes. Is there a more general form, which would work in this case too?
using AbstractPlotting, GLMakie, Random
image = rand(1:4, 64, 48)
scene = Scene(resolution = (1200, 1000))
image!(scene, image, scale_plot = false, show_axis = false, interpolate = false, colormap=[:white, :blue, :green, :red])
axis = scene[Axis]
axis.names.title = "My Title"
display(scene)
.....
ERROR: LoadError: type Nothing has no field names
It seems that MakieLayout.jl could help for what you need:
using MakieLayout, AbstractPlotting
using Random
outer_padding = 30
scene, layout = layoutscene(outer_padding, resolution = (1200, 1000));
ax1 = layout[1, 1] = LAxis(scene, title = "My Title")
image = rand(1:4, 64, 48);
image!(ax1, image, scale_plot = false, show_axis = false, interpolate = false, colormap=[:white, :blue, :green, :red])
tightlimits!.(ax1)
hidedecorations!.(ax1)
display(scene)
PS: As a word of caution, I am a Julia beginner and it seems hard to keep track of all the packages needed to do something. In case of Makie there are several in the GLMakie, MakieLayout, AbstractPlotting, etc…
1 Like
NOTE: according to MakieLayout.jl’s github page, it has been absorbed by AbstractPlotting, which sounds good.
Thank you. MakieLayout is indeed a more flexible way of doing it. I don’t like that it ignores show_axis
parameter in:
image!(ax1, image, scale_plot = false, show_axis = false, interpolate = false, colormap=[:white, :blue, :green, :red])