If we make a framed plot
Plot[Evaluate[Table[BesselJ[i, x], {i, {2, 5, 10}}]],{x, 0, 50}, Frame->True, AspectRatio->1/2, ImageSize->Automatic->300]
The frame ticks appear within the boundary of the plot. However if we want to make a column, or stack, of plots we can use PlotLayout
Plot[Evaluate[Table[BesselJ[i, x], {i, {2, 5, 10}}]], {x, 0, 50}, Frame->True, AspectRatio->1/2, ImageSize->Automatic->300, PlotLayout->{"Column", 1}, FrameLabel->{"X-AXIS", "Y-AXIS"}]
However we can see this changes the frame tick style such that we lose minor ticks, and they point outwards from the frame..
How can we keep the frame tick look of a standard layout plot, while using an option in PlotLayout
? One solution is to use Grid
, but then defining a common axis label is tricky, and in PlotLayout
this is easily achievable. Of course we can use some conditional axis labelling such that the only the middle plot y-axis and lower plot x-axis are labelled, but this falls over for even number of plots and for y-axis labels which are longer than the height of a single plot (the spacing will become irregular).
Grid[Table[{Plot[BesselJ[i, x], {x, 0, 50}, Frame->True, AspectRatio->1/2, ImageSize->Automatic->300, FrameLabel->{"X-AXIS", "Y-AXIS"}]}, {i, {2, 5, 10}}]]
How can we keep interior, default frame ticks when using a specified plot layout?