ändern Sie die position (verschieben) von hilfsstrichbeschriftungen beim Plotten mit matplotlib

bin ich Plotten mit matplotlib. der code ist der folgende (zvals hat der Werte)

cmap = mpl.colors.ListedColormap(['darkblue', 'blue', 'lightblue','lightgreen','yellow','gold','orange','darkorange','orangered','red'])
bounds=[0, 10,20,30,40,50,60,70,80,100,200,1000]
norm = mpl.colors.BoundaryNorm(bounds, cmap.N)
img2 = plt.imshow(zvals,interpolation='nearest',
                cmap = cmap,
                norm=norm,
                origin='lower')


xlocations = na.array(range(30)) + 0.5
xticks(xlocations, [str(x+1) for x in arange(30)], rotation=0, size=5)
gca().xaxis.set_ticks_position('none')
gca().yaxis.set_ticks_position('none')  
grid(True)

diese Ergebnisse in der folgenden Abbildung:
http://imageshack.us/a/img145/7325/histogrammoverview.png

ich würde gerne verschieben Sie die labels der xticks (1,2,3,..) ein wenig nach Links, so sind Sie unter dem entsprechenden Farb-Boxen. entsprechend würde ich auch gerne verschieben, die Etiketten von der yticks (user1 und user2) ein wenig nach unten, so dass Sie korrekt angezeigt werden. wie kann das getan werden?

EDIT: als eine Angelegenheit von der Tat, ich könnte ändern Sie die folgende Zeile
xlocations = na.array(range(30)) + 0.5
zu
xlocations = na.array(range(30))

dann die entstandenen Bilder wie dieses:
http://imageshack.us/a/img338/7325/histogrammoverview.png

finden Sie, dass das raster geht "durch" die farbigen Boxen, das ist nicht das, was ich will. ich möchte das raster zum Rand der farbigen Kästchen, wie im Bild oben. in dieser version, obwohl die Bezeichnungen (1,2,3,...) sind korrekt platziert, unterhalb der Boxen. wie kann ich richtig stellen-labels (darunter die farbigen Kästen) und einem raster, die rund um das farbige Kästchen und nicht in der Mitte der farbigen Boxen.

LÖSUNG

diese Lösung funktioniert (wie vorgeschlagen von der Antwort):

periods = 30
xlocations = na.array(range(periods))
xminorlocations = na.array(range(periods))+0.5
xticks(xlocations, [str(x+1) for x in arange(periods)], rotation=0, size=5)
plt.set_xticks(xminorlocations, minor=True)
grid(True, which='minor', linestyle='-')

Ergebnis: hxxp://imageshack.uns/a/img9/7325/histogrammoverview.png

InformationsquelleAutor beta | 2012-10-11
Schreibe einen Kommentar