OrbDiagQuad::usage = "OrbDiagQuad[st, end, n, init, final, ya, yb] produces an orbit diagram of the quadratic map as c varies from st to end in n steps. The number of initial (dropped) iterations is init; the number of displayed iterations is final. The plot y-range is (ya, yb)." g = # # + c & OrbDiagQuad[st_, end_, n_, init_, final_, ya_, yb_] := Show[Graphics[{PointSize[.01], Table[ Map[Point[{c, #}] &, NestList[g, Nest[g, 0. , init], final]], {c, end, st, (st-end)/n}]}], PlotRange -> {{st,end}, {ya,yb}}, Axes -> True, AxesOrigin -> {st,ya}] ----------------------------------------------------------------------------------------- Cobweb plots: Below f is the function you iterate, x0 is the initial seed, initial is the number of iterations you do BEFORE the trajectory is displayed, orbitlength is the length of the displayed trajectory, xrange is the range of your graph. Trajectory[f_, x0_, initial_, orbitlength_, xrange_:{0,1}] := Block[{start, orbit, plot, lines, xmin, xmax}, {xmin, xmax} = xrange; start = Nest[f, N[x0], initial]; orbit = NestList[f, start, orbitlength]; plot = Plot[f[x], {x, xmin, xmax}, DisplayFunction->Identity]; lines = Line[Rest[Partition[ Flatten[Transpose[{orbit, orbit}]], 2, 1]]]; Show[plot, Graphics[{{Thickness[.0001], PointSize[.02], lines, Point[{start, f[start]}], Line[{{xmin, xmin}, {xmax, xmax}}]}}], AxesOrigin->{xmin, xmin}, DisplayFunction->$DisplayFunction, AspectRatio -> Automatic, PlotRange->{xrange, xrange}]] Trajectory[Cos, .1, 0, 10, {0,1}]