Search code examples
pythonpandastitlehistogram

add title to collection of pandas hist plots


I'm looking for advice on how to show a title at the top of a collection of histogram plots that have been generated by a pandas df.hist() command. For instance, in the histogram figure block generated by the code below I'd like to place a general title (e.g. 'My collection of histogram plots') at the top of the figure:

data = DataFrame(np.random.randn(500).reshape(100,5), columns=list('abcde'))
axes = data.hist(sharey=True, sharex=True)

I've tried using the title keyword in the hist command (i.e. title='My collection of histogram plots'), but that didn't work.

The following code does work (in an ipython notebook) by adding text to one of the axes, but is a bit of a kludge.

axes[0,1].text(0.5, 1.4,'My collection of histogram plots', horizontalalignment='center',
               verticalalignment='center', transform=axes[0,1].transAxes)

Is there a better way?


Solution

  • You can use suptitle():

    import pylab as pl
    from pandas import *
    data = DataFrame(np.random.randn(500).reshape(100,5), columns=list('abcde'))
    axes = data.hist(sharey=True, sharex=True)
    pl.suptitle("This is Figure title")