juliaplots.jl

Increase space between subplots in Plots.jl


How can I increase the space between subplots in Plots.jl?

Minimal non-working example:

julia> using Plots; pyplot()
Plots.PyPlotBackend()

julia> data = [rand(100), rand(100)];
       histogram(data, layout=2, title=["Dataset A" "Dataset B"], legend=false)
       ylabel!("ylabel")

If you make the figure small enough, the y label of the second plot collides with the first plot.


Solution

  • In the attributes part of Plots.jl documentation, there is a section called Subplot. There, you will find the keywords margin, top_margin, bottom_margin, left_margin and right_margin that might help you.

    Minimal working example would be, then:

    using Plots, Measures
    pyplot()
    
    data = [rand(100), rand(100)];
    
    histogram(data, layout = 2,
              title = ["Dataset A" "Dataset B"], legend = false,
              ylabel = "ylabel", margin = 5mm)
    

    Note the using Measures part, by the way. I hope this helps.