Cómo dispersar un gráfico x datos frente a varios gráficos de datos desiguales en matplotlib.pyplot

Básicamente tengo x contra y tuple de diferente longitud. ¿Cómo puedo trazar lo siguiente en matplotlib?

x=[1,2,3,4] y=([1,1.1,1.4,0.9,0.8],[2.1,2.2,2.3],[3.1,3.3],[4.4,4.5,4.3,4.22,4.2,4.1,4.4411]) plt.scatter(x,y) 

Gracias

IIUC necesita expandir su lista x a dimensión y luego la lista obtenida plana y poner en plt.scatter :

 x=[1,2,3,4] y=([1,1.1,1.4,0.9,0.8],[2.1,2.2,2.3],[3.1,3.3],[4.4,4.5,4.3,4.22,4.2,4.1,4.4411]) w = [[x[i]] * len(y[i]) for i in range(len(y))] In [555]: w Out[555]: [[1, 1, 1, 1, 1], [2, 2, 2], [3, 3], [4, 4, 4, 4, 4, 4, 4]] x_to_plot = [item for sublist in w for item in sublist] y_to_plot = [item for sublist in y for item in sublist] plt.scatter(x_to_plot, y_to_plot) 

introduzca la descripción de la imagen aquí

Nota : Podría usar itertools.chain.from_iterable() para hacer listas itertools.chain.from_iterable() a partir de esa pregunta que es más rápida