matplotlib - Achsenbeschriftung ändern

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Indur
User
Beiträge: 3
Registriert: Donnerstag 13. Mai 2010, 13:26

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!
Benutzeravatar
gkuhl
User
Beiträge: 600
Registriert: Dienstag 25. November 2008, 18:03
Wohnort: Hong Kong

Hallo,

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

Grüße
Gerrit
Indur
User
Beiträge: 3
Registriert: Donnerstag 13. Mai 2010, 13:26

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!
Benutzeravatar
gkuhl
User
Beiträge: 600
Registriert: Dienstag 25. November 2008, 18:03
Wohnort: Hong Kong

"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)
Indur
User
Beiträge: 3
Registriert: Donnerstag 13. Mai 2010, 13:26

Super! Hat geklappt -danke schön!
Antworten