MATLAB: Figure: Move axis background above all graphics objects

figurelayersMATLABoverlapplot

Here is a simple code which produces the figure on the left:
figure; box on; hold on;
line([0,1],[0,1],'LineWidth',10);
scatter(1,0,100,'filled');
Is it possible to stack gray background above graphics objects to get the figure on the right?
Command "set(gca,'Layer','top')" set just the black axis above the objects but not the gray background.

Best Answer

Start with
figure;
axes('ClippingStyle', 'rectangle', ... % Crops the line already
'box', 'on', ...
'NextPlot', 'add'); % Equivalent to: hold on
line([0,1],[0,1],'LineWidth',10);
scatter(1,0,100,'filled');