plot_date mystery

I'm having an unusually hard time with plotting some data on a date axis.
All I want to do is plot several data series over a specific 8 week period. It works fine when I plot all the data (that is not specifying a date range) but
when I try to use the axis command to put in my limits it puts the scales up nicely but no data points appear and moreover then I reload and run it again it
goes into an infinite loop. I've tried it with Matplotlib 0.90.1 and 0.98.1 with the same results.

The plot() method below:

class Plotter:
    """Generate plots of disk trend data
    Marker = ['s','o','^','d','v','p','x','+','h','<','>','1']
    Color = ['black','red','blue','green','aqua','fuchsia',

    def __init__(self, trenddict):
        self.trenddict = trenddict =
        self.dates = trenddict.keys() #keys are datetime objects
        self.dates.sort() #sorted list of datetime objects

    def extract(self, dirlist):
        x = []
        ys = {}
        for date in self.dates:
            for dirname in dirlist:
                value = self.trenddict[date][dirname]
                except KeyError:
                    ys[dirname] = [value]
        return x, ys
    def plot(self, dirlist, title, scalemax, filename):
        fig = figure(num=1, figsize=(8,10), frameon=False)
        ax = fig.add_subplot(111)


        start = date2num( - datetime.timedelta(49))
        end = date2num( + datetime.timedelta(7))
        ax.axis([start, end, 0, scalemax])

        x, ys = self.extract(dirlist)

        for i, directory in enumerate(dirlist):
            plot_date(x, ys[directory],

        tl = ax.get_xticklabels()
        setp(tl, 'rotation', 45, fontsize=10)
        legend(loc='lower left', prop=FontProperties(size="smaller"))