2016-04-12 9 views
1

Ich verwende Matplotlib, um Daten auf Ubuntu 15.10 zu plotten. Meine Y-Achse hat numerische Werte und meine X-Achsen-Zeitstempel.Datumsetiketten, die sich schneiden

Ich habe das Problem, dass die Datumsbeschriftungen sich überschneiden, so dass es schlecht aussieht. Wie vergrößere ich den Abstand zwischen den X-Achsen-Ticks/Labels, um immer noch gleichmäßig verteilt zu sein? Da die automatische Auswahl der Ticks schlecht war, kann ich die Anzahl der Ticks manuell einstellen. Jede andere Lösung wird ebenfalls geschätzt.

Außerdem verwende ich die folgenden DateFormatter:

formatter = DateFormatter('%m/%d/%y') 
axis = plt.gca() 
axis.xaxis.set_major_formatter(formatter) 

Antwort

1

Sie die folgenden Code hinzufügen könnte:

plt.gcf().autofmt_xdate() 

, die die x-Achse für Sie automatisch formatiert (dreht sich um die Etiketten etwas wie 30 Grad usw.).

Sie können auch manuell die Menge von x eingestellt Zecken, die zeigen, auf der x-Achse es immer voll zu vermeiden, indem Sie die folgenden:

max_xticks = 10 
xloc = plt.MaxNLocator(max_xticks) 
ax.xaxis.set_major_locator(xloc) 

ich persönlich zusammen verwenden, wie es das Aussehen Diagramm macht viel schöner bei der Verwendung von Daten.

0

Sie können einfach legen Sie die Orte, die Sie markiert werden soll:

axis.set_xticks(x[[0, int(len(x)/2), -1]]) 

wo x wäre Ihr Array von Zeitstempel

Verwandte Themen