Cómo trazar una línea (cadena poligonal) con numpy / scipy / matplotlib con un mínimo de suavizado

Estoy tratando de trazar una línea en matplotlib ... Estoy buscando el tipo correcto de interpolación ... Quiero algo como esto

donde se alisa cada línea. Probé varias combinaciones de scipy y matplotlib, como

x_new = np.arange(x, x_length, 1)
tck = interpolate.splrep(x, y, s=3)
y_new = interpolate.splev(x_new, tck, der=0)
ax.plot(x_new, y_new, color+lstyle)

pero el mejor resultado que obtengo es

La linea representauna variable creciente.. por lo que es una representación incorrecta. ¿Qué puedo buscar?

Gracias

Edit: Estoy pensando en implementar un método por mi cuenta, pero no sé si ya se ha hecho ... el pseudo código es el siguiente

take x and y
calculate spline for each three points 
x[0], x[1], x[2] ... x[1], x[2], x[3] ... and so on
for each y[n] sums every computation done for it and divide by number of 
computations (i.e. y[1] is computed for triplette x[0..2] and x[1..3] so the 
sum is divided by two (average for each point is taken as its value)

Respuestas a la pregunta(5)

Su respuesta a la pregunta