\documentclass[border=5mm]{standalone} \usepackage{luamplib} \begin{document} \mplibtextextlabel{enable} \begin{mplibcode} beginfig(1); input colorbrewer-rgb numeric t, s, u, v; t = 3; s = 1; u = 50; v = 10; path xx, yy; xx = (left -- right) scaled t scaled u; yy = 50 down -- 100 up; picture P[]; for k = 1 upto 3: s := s * 1/2; P[k] = image( for n=2 upto 7: path c; c = (for x = -t step s until t-s: (x, x**n) ... endfor (t, t**n)) xscaled u yscaled v cutbefore xx shifted point if odd n: 0 else: 1 fi of yy cutafter xx shifted point 1 of yy if n > 5: shifted (0, v*n - 5v) fi; draw c withcolor Spectral[6][n-1]; for i=0 upto length(c): draw point i of c withpen pencircle scaled 1; endfor label("$\scriptstyle x^" & decimal n & "$", point infinity of c shifted 3 right shifted 6 unitvector(direction infinity of c)); label("Step: $\frac1{" & decimal (1/s) & "}$", (30, 80)); endfor for i=1,2: draw (i*u, 0) -- (i*u, -2); label.bot(decimal i, (i*u, -2)); endfor drawarrow xx; drawarrow yy; ); draw P[k] shifted (0, -160k); endfor endfig; \end{mplibcode} \end{document}