Seite 1 von 1

matplotlib - Achsenbeschriftung ändern

Verfasst: Donnerstag 13. Mai 2010, 13:34
von Indur
Hallo,

ich habe einen Graphen mit matplotlib erzeugt. Die x-Achsen-Beschriftung geht von 0,1,2,...,130.
Ist es möglich, den Graphen unangetastet zu lassen und nur die x-Achsen-Beschriftung zu ändern? Sie soll von -130,-129,-128,...,0 gehen.

Wenn ich die x-Achse ändere (invertiere, oder einen anderen Abschnitt nehme), wird auch der Graph dementsprechend angezeigt. figure.set_xlim() nützt mir also wohl nichts.

Danke und viele Grüße!

Re: matplotlib - Achsenbeschriftung ändern

Verfasst: Donnerstag 13. Mai 2010, 14:21
von gkuhl
Hallo,

sowas geht mit xticks. Aber warum plottest du es nicht gleich gegen die richtigen x-Werte?

Grüße
Gerrit

Re: matplotlib - Achsenbeschriftung ändern

Verfasst: Donnerstag 13. Mai 2010, 15:53
von Indur
Hey,

das sind die richtigen x-Werte, es ist in dem Zusammenhang nur intuitiver, die x-Achse von -130 bis 0 zu beschriften.

Ich weiß leider nicht wie ich xticks benutzen muss. Meine Code ist sehr kurz:

Code: Alles auswählen

def genH(name,daten,pos):
    fig = plt.figure()
    ax = fig.add_subplot(111)
    ax.plot(daten)
    ax.set_xlabel('Position')
    ax.set_ylabel('Durchschnitt')
    ax.set_ylim(0, max(daten)+10)
    ax.grid(True)
    plt.savefig(pos+name)
Wo muss ich da wie xticks aufrufen?
Danke!

Re: matplotlib - Achsenbeschriftung ändern

Verfasst: Donnerstag 13. Mai 2010, 20:41
von gkuhl
"xticks" kannst du nach der plot-Funktion aufrufen. Ich sehe bei dir aber keine x-Werte. "ax.plot(daten)" nimmt daher Defaultwerte an von 0 bis "len(daten)". In dem Fall solltest du einfach folgendes machen:

Code: Alles auswählen

n = len(data)
x = range(-len(data), 1)
plot(x,data)

Re: matplotlib - Achsenbeschriftung ändern

Verfasst: Donnerstag 13. Mai 2010, 22:08
von Indur
Super! Hat geklappt -danke schön!