pandas, matplotlib, verwenden Sie dataframe index als Beschriftung der hilfsstriche

Ich bin mit matplotlib ist imshow() Funktion zu zeigen pandas.DataFrame.

Möchte ich die Etiketten und die hilfsstriche für x-und y-Achsen gezeichnet werden, aus dem DataFrame.index und DataFrame®.Spalten Listen, aber ich kann nicht herausfinden, wie es zu tun.

Unter der Annahme, dass data ist ein pandas.DataFrame:

>>> print data
<class 'pandas.core.frame.DataFrame'>
Index: 201 entries,  1901 to  2101
Data columns:
jan    201  non-null values
feb    201  non-null values
mar    201  non-null values
apr    201  non-null values
may    201  non-null values
jun    201  non-null values
jul    201  non-null values
aug    201  non-null values
sep    201  non-null values
oct    201  non-null values
nov    201  non-null values
dec    201  non-null values

Wenn ich dies tun:

ax1 = fig.add_subplot(131, xticklabels=data.columns, yticklabels=data.index)
ax1.set_title("A")
ax1.tick_params(axis='both', direction='out')
im1 = ax1.imshow(data, 
                 interpolation='nearest', 
                 aspect='auto',
                 cmap=cmap )

Ich am Ende mit schön Abstand der hilfsstriche auf der y-Achse des Bildes, aber die Etiketten sind 1901-1906 anstelle von 1901-thru-2101. Ebenso die x-Achsen-tick-Beschriftungen sind feb-jul anstelle von jan-Dez.

Wenn ich

ax1 = fig.add_subplot(131) # without specifying tick labels

Dann habe ich am Ende die hilfsstrichbeschriftungen der Achse einfach nur die zugrunde liegenden ndarray-index-Werte (d.h. 0-201 und 0-12). Ich brauche nicht zu ändern, den Zeilenabstand oder die Anzahl der ticks und labels, ich will nur den label-text zu kommen aus dem DataFrame-index und Spalte. Nicht sicher, ob mir etwas fehlt einfach, oder nicht?

Vielen Dank im Voraus.

InformationsquelleAutor tbc | 2012-07-20
Schreibe einen Kommentar