Using the plotly()
backend and the margin attribute, decent results are obtained:
using Plots; plotly()
using Plots.Measures
function make_plot(N,M)
plotsize = (M*400,N*400)
plts = [plot(rand(10), xlabel="X-axis ($i)", ylabel="Y-axis ($i)", color=i,
left_margin = 15mm, legend=false, plotsize=(400,400)) for i in 1:N*M]
plot(plts..., layout=(N,M), size=plotsize)
end
make_plot(1,12)
PS: there are 12 subplots but truncated here for better visualization (cursor shows reading on curve):