Label each panel of Grid
Is this what you want
a = Plot[Sin[x], {x, -Pi, Pi}, AspectRatio -> 1,
Epilog -> Inset[Style["(a)", 18],
Offset[{-1, -1}, Scaled[{1, 1}]], {Right, Top}]];
b = Plot[Cos[x], {x, -Pi, Pi}, AspectRatio -> 1,
Epilog -> Inset[Style["(b)", 18],
Offset[{-1, -1}, Scaled[{1, 1}]], {Right, Top}]];
c = Plot[ArcSin[x], {x, -Pi, Pi}, AspectRatio -> 1,
Epilog -> Inset[Style["(c)", 18],
Offset[{-1, -1}, Scaled[{1, 1}]], {Right, Top}]];
d = Plot[ArcCos[x], {x, -Pi, Pi}, AspectRatio -> 1,
Epilog -> Inset[Style["(d)", 18],
Offset[{-1, -1}, Scaled[{1, 1}]], {Right, Top}]];
GraphicsGrid[{{a, b}, {c, d}}, AspectRatio -> 1, Spacings -> {1, 2},
Frame -> All]
You can use PlotLabel
s for each individual graph:
labelstyle={Bold,18};
a = Plot[Sin[x], {x, -Pi, Pi},PlotLabel->Style[Sin,labelstyle]];
b = Plot[Cos[x], {x, -Pi, Pi},PlotLabel->Style[Cos,labelstyle]];
c = Plot[ArcSin[x], {x, -Pi, Pi},PlotLabel->Style[ArcSin,labelstyle]];
d = Plot[ArcCos[x], {x, -Pi, Pi},PlotLabel->Style[ArcCos,labelstyle]];
Grid[{{a, b}, {c, d}}, Spacings -> {1, 2}, Frame -> All]
Labeled:
plots = Plot[#[x], {x, -Pi, Pi}] & /@ {Sin, Cos, ArcSin, ArcCos};
labels = Style[#, "Section", 18, Black] & /@ {"Sin", "Cos", "ArcSin", "ArcCos"};
labeledplots = Labeled[#1, #2, Top] & @@@ Transpose[{plots, labels}];
Grid[Partition[labeledplots, 2], Spacings -> {2, 2}, Dividers -> All]
Panel:
paneledplots = Panel[#, #2, {{Top, Center}}, Appearance -> "Frameless"] & @@@
Transpose[{plots, labels}];
Grid[Partition[paneledplots, 2], Dividers -> All, Spacings -> {2, 2},
ItemSize -> {15, Automatic}]