Ich möchte die Häufigkeit von x Tick-Markierungen reduzieren. Die x Werte sind Datum:Legen Sie XTICKs Label-Frequenz mit Python
date=['20120101','20120101','20120101',...'20121231']
Ich habe 24 Zeitschritte für jeden Tag des Jahres. Und ich möchte die Xticks alle 24 Zeitschritte (d. H. Jeden Tag) beschriften.
Hier ist der Code, den ich benutze:
date=[]
val=[]
for lig in file(liste.txt):
ligne=lig.split('')
date.append(ligne[0])
val.append(ligne[1])
plt.plot(date,val)
plt.setp(plt.gca().xaxis.get_majorticklabels(),rotation=90)
plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%y%m%d'))
plt.gca().xaxis.set_major_locator(mdates.DayLocator(interval=4))
plt.show()
Und hier ist mein Grundstück gibt es kein xticks Etikett!
Ich würde hinzufügen, dass die Dokumentation eindeutig angibt, dass die Formatzeichenfolge ['strftime'] (http://strftime.org/) –
Ich habe mein Beispiel abgeschlossen haben. Wenn ich date = datetime.datetime.strftime (Datum, '% y% m% d') hinzufüge, gibt es den Deskriptor 'strftime' zurück, benötigt ein 'datetime.date'-Objekt, erhält aber eine' list ' – user5276228
Das ist es zunächst nicht was ich ein funktionierendes Beispiel nenne. Es gibt zwei Tippfehler: 'plt.gca(). Xaxix. (...)' und 'dateFormatter ('% y% m% d')', die beide zu einem 'Attributfehler' führen. Zweitens scheint es, als müssten Sie jedes Element einzeln behandeln, wie z.B. Erstellen Sie eine zweite leere Liste 'date2 = []' und füllen Sie sie dann mit 'für itm in date: date2.append (datetime.datetime.strptime (itm, '% Y% m% d')) '. Sie müssen 'date2' anstelle von' date' dann plotten, was übrigens ein unglücklicher Name für eine Variable ist. (Ich bin sicher, es gibt eine mehr pythische Art, dies zu schreiben! Ich habe keine Erfahrung mit Lambda-Funktionen.) – nostradamus