How to arrange images in a hierarchical structure?

    SeedRandom@2;
    p = Table[BarChart[RandomReal[1, 5]], 7];

Grid[{{p[[1]], SpanFromLeft}, {p[[2]], SpanFromLeft, p[[3]], 
   SpanFromLeft}, Join @@ {p[[4 ;; 7]]}}, Frame -> All, 
 Alignment -> Center]

enter image description here


Module[{pl, w = 500, h = 100},
 pl[frac_] := Framed[
   BarChart[
    RandomReal[1, 5]
    , AspectRatio -> frac h/w
    , PlotTheme -> "Scientific"
    , ImageSize -> 0.9 {w/frac, h}
    ], ImageSize -> {w/frac, h}];
 GraphicsGrid[
  {
   PadRight[{pl[1]}, 4, SpanFromLeft],
   {pl[2], SpanFromLeft, pl[2], SpanFromLeft},
   {pl[4], pl[4], pl[4], pl[4]}
   }
  , ImageSize -> {w, 4 h}
  , Spacings -> {0, 0}
  ]]

Mathematica graphics