I used Show to combine two plots A and B so that I have plot1. The same for plots C and D so that I have plot2. Then I used the following code:

  {{plot1}, {plot2}},
  PlotLabel -> Style[Framed["title  here"], 12, Black, Bold,
  Frame -> True, FrameLabel -> {{None, None},None, "text here"}}

I am trying two things: place a text on right side of the graph to explain the picture; place a legend for two plots, each of which show two unique curves. How do I place multiple labels at custom location in a graphics grid. The above FrameLabel option does not work at all.


Firstly you have syntax errors. Secondly, instead of FrameLabel and PlotLabel, Epilog is better. Here is an example:

p11 = Plot[Sin[x], {x, -3, 3}];
p12 = Plot[Cos[x], {x, -3, 3}];
p21 = Plot[Sin[2 x], {x, -3, 3}];
p22 = Plot[Cos[2 x], {x, -3, 3}];

plot1 = Show[p11, p12];
plot2 = Show[p21, p22];

GraphicsGrid[{{plot1}, {plot2}}, 
 Epilog -> {Inset[Style["Sine", 20], Scaled[{0.75, 0.75}]], 
   Inset[Style["AnyText", 20], Scaled[{0.5, 0}]]}]

Note that you get full flexibility in positioning your labels in a scaled {0,1} co-ordinate system.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.