ich bin ein klein wenig am Verzweifeln, wie ich einen Barplot für bestimmte Tage oder Stunden mache.
Ich hab mir ein Script zum zeigen zusammengebastelt, ist nur zur Demonstration.
Code: Alles auswählen
#!/usr/bin/python
from datetime import datetime, timedelta
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.mlab as mlab
import matplotlib.dates as mdates
N = 100
now = datetime.now()
zeiten = []
for i in range(N):
zeiten.append(now+timedelta(minutes=i))
werte = [i*2 for i in range(len(zeiten))]
werte.reverse()
hours = mdates.MinuteLocator((0,30))
minuteFmt = mdates.DateFormatter('%H:%M')
fig = plt.figure()
ax = fig.add_subplot(111)
ax.bar(zeiten,werte)
datemin = datetime.now()-timedelta(minutes=5)
datemax = datetime.now()+timedelta(minutes=N+20)
ax.set_xlim(datemin, datemax)
ax.xaxis.set_major_locator(hours)
ax.xaxis.set_major_formatter(minuteFmt)
fig.autofmt_xdate()
plt.show()
selbst wenn ich widht=0.1 oder ähnliches definiere, die laufen immer aus dem Bild raus. Weiß jemand was ich hier falsch mache?