Это идея, которую я получил от использования R. В R это обычно происходит, когда элементы перерабатываются. Имея это в виду, если такое решение вам подходит,
import itertools
x = [1,2,3,4,4,5]
y= [1,2,3]
g = itertools.cycle(y)
w = [next(g) for i in range(len(x))]
plt.scatter(x,w)
plt.show()
В противном случае, я не знаю, как строить неровные числа.