How to put the legend outside the plot in Matplotlib
You can also try figlegend.  It is possible to create a legend independent of any Axes object.  However, you may need to create some "dummy" Paths to make sure the formatting for the objects gets passed on correctly.
I have a series of 20 plots (not subplots) to be made in a single figure.  I want the legend to be outside of the box.  At the same time, I do not want to change the axes, as the size of the figure gets reduced.  Kindly help me for the following queries:

I want to keep the legend box outside the plot area. (I want the legend to be outside at the right side of the plot area).
Is there anyway that I reduce the font size of the text inside the legend box, so that the size of the legend box will be small.