Generating cobweb plots and bifurcation diagrams

with Mathematica

Cobweb plots

f[c_][x_] := (x^2)+c;
orbit = NestList[f[-1.1], 1.23, 100];
orbitGraph = Partition[Flatten[{#,#}& /@ orbit], 2, 1];
 Plot[{f[-1.1][x],x}, {x,-2,2},PlotStyle->{{Thick,Black}},
AspectRatio->Automatic, Epilog -> {
{Opacity[0.2],Line /@ Partition[orbitGraph,2,1]},
{PointSize[Large], 
{Darker[Green], Point[First[orbitGraph]]},
{Red, Point[Last[orbitGraph]]}}}]

Making it dynamic

f[c_][x_] := (x^2)+c;
Manipulate[
orbit = NestWhileList[f[c], x0, Abs[#]<20&, 1, 100];
orbitGraph = Partition[Flatten[{#,#}& /@ orbit], 2, 1];
 Plot[{f[c][x],x}, {x,-2,2},PlotStyle->{{Thick,Black}},
PlotRange -> {-2,2},
AspectRatio->Automatic, Epilog -> {
{Opacity[0.2],Line /@ Partition[orbitGraph,2,1]},
{PointSize[Large], 
{Darker[Green], Point[First[orbitGraph]]},
{Red, Point[Last[orbitGraph]]}}}],
{{c,-1.2},-2,1}, {{x0,1.23},-2,2}]

A bifurcation diagram

f[c_][x_] := (x^2)+c;
eventualOrbit[a_]:=Drop[NestList[f[c],0.0,500],100];
column[c_]:={c,#}&/@eventualOrbit[c];
Rasterize[Graphics[{PointSize[0.001],Opacity[0.1],
Point[Flatten[Table[column[c],{c,-2,0,0.001}],1]]},
AspectRatio->1/GoldenRatio, ImageSize->800, Frame->True]]