Is there a way of drawing a caption box in matplotlib
Is it possible to add graph description under graph in pylab?
Let's say that I plot the following graph:
import pylab x = [1,2,3,2,4,5,6,4,7,8] pylab.plot(x) pylab.title('My Plot') pylab.xlabel('My x values') pylab.ylabel('My y values') pylab.show()
I also want to insert a few lines that describe the graph, perhaps something like this (not real code):
pylab.description('Figure 1.1 is designed for me to learn basics of Pylab')
Is that possible?
Also, I am vague on differences between
matplotlib, so if there is a solution that works when using
matplotlib, it will probably work.
Thank You in Advance
figtext is useful for this since it adds text in the figure coordinates, that is, 0 to 1 for x and y, regardless of the axes. Here's an example:
from pylab import * figure() gca().set_position((.1, .3, .8, .6)) # to make a bit of room for extra text plot([1,2], [3,4]) figtext(.95, .9, "This is text on the side of the figure", rotation='vertical') figtext(.02, .02, "This is text on the bottom of the figure.\nHere I've made extra room for adding more text.\n" + ("blah "*16+"\n")*3) xlabel("an interesting axis label") show()
Here I've used
axes.set_position() to make some extra room on the bottom of the figure by making the axes a bit smaller. Here I added room for lots of text and also so the text doesn't bump into the axes label, though it's probably a bit excessive.
Although you asked for text on the bottom, I usually put such labels on the side, so they are more clearly notes and not part of the figure. (I've found it useful, for example, to have a little function that automatically puts the name of the file that generated each figure onto the figure.)