actualizar matplotlib plot

Estoy tratando de actualizar un gráfico matplotlib de la siguiente manera:

import matplotlib.pyplot as plt
import matplotlib.dates as mdate
import numpy as np

plt.ion()

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

for i,(_,_,idx) in enumerate(local_minima):
    dat = dst_data[idx-24:idx+25]
    dates,values = zip(*dat)
    if i == 0:
        assert(len(dates) == len(values))
        lines2d, = ax.plot_date(mdate.date2num(dates), np.array(values), linestyle='-')
    else:
        assert(len(dates) == len(values))
        lines2d.set_ydata(np.array(values))
        lines2d.set_xdata(mdate.date2num(dates))  #This line causes problems.

        fig.canvas.draw()
    raw_input()

La primera vez a través del bucle, la trama se muestra bien. La segunda vez que pasa por el bucle, todos los datos de mi gráfico desaparecen; todo funciona bien si no incluyo ellines2d.set_xdata línea (aparte de los puntos de datos x que están equivocados, por supuesto). He mirado los siguientes posts:

¿Cómo actualizar una parcela en matplotlib?

y

Actualizar lineas en matplotlib

Sin embargo, en ambos casos, el usuario solo está actualizando elydata y me gustaría actualizar elxdata también.

Respuestas a la pregunta(1)

Su respuesta a la pregunta