Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Add graph description under graph in pylab [duplicate]

Possible Duplicate:
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 pylab and matplotlib, so if there is a solution that works when using matplotlib, it will probably work.

Thank You in Advance

like image 238
Akavall Avatar asked Jun 21 '12 17:06

Akavall


People also ask

Is PyLab the same as Matplotlib?

PyLab is a procedural interface to the Matplotlib object-oriented plotting library. Matplotlib is the whole package; matplotlib. pyplot is a module in Matplotlib; and PyLab is a module that gets installed alongside Matplotlib. PyLab is a convenience module that bulk imports matplotlib.

What is the function of YLIM () in Matplotlib?

ylim() Function. The ylim() function in pyplot module of matplotlib library is used to get or set the y-limits of the current axes.


1 Answers

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()

enter image description here

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.)

like image 61
tom10 Avatar answered Nov 09 '22 23:11

tom10