I have what I think is a very basic question about plotting using Cairo Makie. How can I make two plots I’m making have the same x axis range?. Here’s a working prototype that I think illustrates what I need:
f1 = Figure();
Axis(f1[1, 1], title = "Site 1")
d₀ = density!(randn(200))
d₁ = density!(1 .+ randn(200))
f2 = Figure();
Axis(f2[1, 1], title = "Site 2")
d₀ = density!( 1.2 .* randn(200))
d₁ = density!(1.2 .+ 1.2 .* randn(200))
If you run this code, you will see that both graphs end up with their own separate x-range. How can I format the figures so that only a certain range, say in my example, the range (-2,2) is shown in both figures?
Thank you. That does almost everything I need.
Here’s my updated prototype code.
f = Figure();
ax1 = Axis(f[1, 1], title="Site 1")
ax2 = Axis(f[1, 2],title="Site 2")
density!(ax1, 1 .+ randn(200))
density!(ax2, 1.2 .* randn(200))
density!(ax2, 1.2 .+ 1.2 .* randn(200))
I still need to control the specific range in the figure to a user generated range, say, (-2,2).
xlims!.((ax1, ax2), -2, 2)
To add to this,
linkaxes! is just for making it convenient to automatically compute and synchronize limits across axes. If you want to set specific limits anyway, you don’t profit from linking and you’re fine using
limits!, respectively. It makes a difference when interacting with figures, but since you use CairoMakie that doesn’t factor into it.
Thank you. You’re right. xlims solves my problem, and it is nevertheless great to know about linkaxes for future reference.