2013-10-27 6 views
9

Ich suche Ratschläge, wie man einen Titel am Anfang einer Sammlung von Histogramm-Plots anzeigt, die mit einem Pandas df.hist() - Befehl erzeugt wurden. Zum Beispiel in dem Histogramm Figur Block durch den generierten Code unten Ich mag einen allgemeinen Titel setzen (zB ‚Meine Sammlung von Histogramm Plots‘) am oberen Ende der Figur:Titel zur Sammlung von Pandas-Hist-Plots hinzufügen

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

Ich habe versucht, Verwenden Sie das Titel Schlüsselwort im Befehl hist (dh Titel = 'Meine Sammlung von Histogramm Plots'), aber das hat nicht funktioniert.

Der folgende Code funktioniert Arbeit (in einem Ipython-Notebook) durch Hinzufügen von Text zu einer der Achsen, aber ist ein bisschen wie ein Klud.

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

Gibt es einen besseren Weg?

Antwort

11

Sie können suptitle() verwenden:

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") 
+0

Ja, das ist der einfache Befehl, den ich suchte. Vielen Dank! – dreme

+14

Gibt es einen technischen Grund, warum 'hist()' kein benanntes 'title' Argument haben kann? – displayname

6

ich einen besseren Weg gefunden:

plt.subplot(2,3,1) # if use subplot 
df = pd.read_csv('documents',low_memory=False) 
df['column'].hist() 
plt.title('your title') 

Es ist sehr einfach, zeigen auch an der Spitze, und wird Ihre subplot nicht vermasseln.

0

Bei neueren Versionen Pandas, wenn jemand interessiert ist, hier eine etwas andere Lösung mit Pandas nur:

ax = data.plot(kind='hist',subplots=True,sharex=True,sharey=True,title='My title')