Я не знаю почему, но gtk.Curve, похоже, не может манипулировать данными вне основного цикла.Попробуйте что-то вроде этого, чтобы добавить данные после основного вызова.
import random, gtk, gobject
def createCurve(c):
v = [random.random() for i in range(800)]
c.set_vector(v)
c.set_curve_type(gtk.CURVE_TYPE_SPLINE)
return True
c = gtk.Curve()
vb = gtk.VBox()
vb.pack_start(c, True, True)
w = gtk.Window()
w.add(vb)
w.show_all()
gobject.timeout_add(2000, createCurve, c)
gtk.main()