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)
)