From 92aafb1349e583ef1c5b1629a058b1dc81ce1ad3 Mon Sep 17 00:00:00 2001 From: Simon Christ Date: Thu, 21 Nov 2019 13:03:37 +0100 Subject: [PATCH] padding of grouplots --- src/backends/pgfplotsx.jl | 11 ++++++++++- test/test_pgfplotsx.jl | 1 - 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/backends/pgfplotsx.jl b/src/backends/pgfplotsx.jl index 66fc5f02..0764606e 100644 --- a/src/backends/pgfplotsx.jl +++ b/src/backends/pgfplotsx.jl @@ -24,7 +24,9 @@ function (pgfx_plot::PGFPlotsXPlot)(plt::Plot{PGFPlotsXBackend}) push!( the_plot, PGFPlotsX.GroupPlot( PGFPlotsX.Options( "group style" => PGFPlotsX.Options( - "group size" => string(cols)*" by "*string(rows) + "group size" => string(cols)*" by "*string(rows), + "horizontal sep" => string(maximum(sp -> sp.minpad[1], plt.subplots)), + "vertical sep" => string(maximum(sp -> sp.minpad[2], plt.subplots)), ) ) ) @@ -550,6 +552,13 @@ function pgfx_axis!(opt::PGFPlotsX.Options, sp::Subplot, letter) end # -------------------------------------------------------------------------------------- # display calls this and then _display, its called 3 times for plot(1:5) +# Set the (left, top, right, bottom) minimum padding around the plot area +# to fit ticks, tick labels, guides, colorbars, etc. +function _update_min_padding!(sp::Subplot{PGFPlotsXBackend}) + # TODO: make padding more intelligent + sp.minpad = (20mm, 5mm, 2mm, 10mm) +end + function _create_backend_figure(plt::Plot{PGFPlotsXBackend}) plt.o = PGFPlotsXPlot() end diff --git a/test/test_pgfplotsx.jl b/test/test_pgfplotsx.jl index 4eeeddf7..68002222 100644 --- a/test/test_pgfplotsx.jl +++ b/test/test_pgfplotsx.jl @@ -59,7 +59,6 @@ end end # testset @testset "Layout" begin plot(Plots.fakedata(100, 10), layout=4, palette=[:grays :blues :heat :lightrainbow], bg_inside=[:orange :pink :darkblue :black]) - # TODO: no extra space for outer legends end # testset @testset "Polar plots" begin Θ = range(0, stop=1.5π, length=100)