ClearAll[rectangleFilling] rectangleFilling[w_ : 12, op_ : .8, ef_ : Automatic] := ReplaceAll[ GraphicsComplex[c_, p_] :> GraphicsComplex[c, p /. Line[{a_, b_}, ___] :> Dynamic @ {Opacity[1], Blend[{CurrentValue["Color"], White}, op], EdgeForm[{AbsoluteThickness[2], ef /. Automatic -> CurrentValue["Color"]}], Rectangle[Offset[{-w, 0}, c[[b]]], Offset[{w, 0}, c[[a]]]]}]] ***Examples:*** rectangleFilling[]@ ListPlot[{1, 2, 3, 6, 4, 4}, Filling -> Bottom, FillingStyle -> Directive[CapForm["Butt"], AbsoluteThickness[5]], Frame -> True, GridLines -> Automatic, PlotRangePadding -> {{-0.5, 0.5}, {0.5, 0.5}}] [![enter image description here][1]][1] rectangleFilling[20]@ ListPlot[MapIndexed[{{#2[[1]], #}} &]@{1, 2, 3, 6, 4, 4}, PlotStyle -> "Rainbow", Filling -> 2.5, FillingStyle -> Directive[CapForm["Butt"], AbsoluteThickness[5]], Frame -> True, GridLines -> Automatic, PlotRangePadding -> {{-0.5, 0.5}, {0.5, 0.5}}] [![enter image description here][2]][2] [1]: https://i.sstatic.net/97bMb.png [2]: https://i.sstatic.net/SyNhh.png