How to use @layout in plots?

the outer array now has only a single element, making it a vector, which is confusing to layouts because it expects things that make a matrix. You just just need to drop one pair of brackets for it to work:

l = @layout [grid(3,3)
             b{0.2h}  ]

Similar with the other one, drop the unused brackets.
What you want for your 4 in a row + 3 grid thing could be:

julia> l = @layout [[a{0.25h};b;c;d{0.25h}] grid(3,3)]
Plots.GridLayout(1, 2)

EDIT: Half of 1/4 is 0.125 not 0.25 ofc, that one’s on me. Here’s a working example:

julia> l = @layout [[a{0.125h};b;c;d{0.125h}] grid(3,3){0.66w}]
Plots.GridLayout(1, 2)

julia> plot(
           rand(10, 13),
           layout = l, legend = false, seriestype = [:bar :scatter :path],
           title = ["($i)" for j in 1:1, i in 1:13], titleloc = :right, titlefont = font(8)
           )
2 Likes