2016-06-01 20 views
0

Dank einer Menge Hilfe von Überläufen habe ich endlich formatierte Daten auf meinem Grundstück Hooray !! ABER jetzt gibt es zu viele von ihnen! Kann jemand sehen, warum bitte? Ich habe nur die relevante Liste einbezogen, die nicht der Code geplottet wird. hier ist die x_listmatplotlib xaxis.set_major_formatter zusätzliche Daten

x_list [datetime.date(2015, 8, 4), datetime.date(2015, 8, 5), datetime.date(2015, 8, 6), datetime.date(2015, 8, 7)] 

hier ist das Format

ax.xaxis.set_major_formatter(mdates.DateFormatter('%m-%d')) 

hier ist die Handlung

extra dates

Antwort

1

Es wäre einfacher zu beantworten, wenn Sie Ihren Code enthalten war, aber ich denke, das sollte es beheben. Sie müssen nur angeben, welche Ticks enthalten sein sollen, mit set_ticks():

import matplotlib.dates as mdates 
import matplotlib.pyplot as plt 
import datetime  

x_list = [datetime.date(2015, 8, 4), datetime.date(2015, 8, 5), datetime.date(2015, 8, 6), datetime.date(2015, 8, 7)] 
y = [5, 7, 3, 9] # just an example 

fig = plt.figure() 
ax = fig.add_subplot(111) 

ax.xaxis.set_major_formatter(mdates.DateFormatter('%m-%d')) 
ax.plot(x_list, y) 
ax.xaxis.set_ticks(x_list) 

plt.show() 
+0

perfekt danke vielen Dank. Ich verstehe immer noch nicht, warum es passiert ist, aber deine Lösung war genau richtig. Danke, dass du mir einen neuen Aspekt von Matplotlib gezeigt hast: – theakson

+0

du bist willkommen :-) Standardmäßig legt Matplotlib automatisch die Anzahl der Ticks fest. Wenn Sie eine bestimmte Anzahl von Ticks benötigen, sollten Sie diese angeben. –

+0

Es gibt auch eine Reihe von datumsbezogenen Locators http://matplotlib.org/api/dates_api.html#date-tickers, die hier nützlich sein können. – tacaswell

Verwandte Themen