[ACCEPTED]-Is there a way of drawing a caption box in matplotlib-matplotlib

Accepted answer
Score: 36

Use pyplot.text. Here is some sample code:

from matplotlib import pyplot as plt
import numpy as np

x = np.arange(0,3,.25)
y = np.sin(x)
txt = '''
    Lorem ipsum dolor sit amet, consectetur adipisicing elit,
    sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
    Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris
    nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in
    reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
    pariatur. Excepteur sint occaecat cupidatat non proident, sunt in
    culpa qui officia deserunt mollit anim id est laborum.'''

fig = plt.figure()
ax1 = fig.add_axes((.1,.4,.8,.5))

It produces 3 this: enter image description here

If you want automatic word-wrapping, have 2 a look at this post.

I'm not sure I can help you get 1 it full-justified.

Score: 1

You can use the legend function (pylab.legend). If you want 6 it outside the axes, you can pass to it 5 a specific location (loc keyword argument).

Edit: The 4 legend function takes a title argument, which 3 might help getting what you want. However, for 2 a caption without any legend, Paul's answer 1 is more suited.

More Related questions