g[x_,k_]:=x/(x^2 + k);
?g
intercepts=Range[-4,4,.1];
Animate[Plot[g[x,k],{x,-4,4},PlotRange->{-10,10},PlotLabel->"y = x/(x^2+("<>ToString[k] <> "))",PlotStyle->{Thickness[0.01],Hue[(Position[intercepts,k]//Flatten//First)/9]}],{k,intercepts}]

f[x_]:=(x^2+3x+2)/(x^2 -1);Plot[{1,(x^2+3x+2)/(x^2 -1)},{x,-4,4},PlotRange->{-10,10},PlotLabel->"VA at x=1; but a hole at x=-1, rather than a VA
HA of y=1",PlotStyle->{Thickness[0.01]}]
?f
Factor[f[x]]

Plot[{1/(x^2 +1),0},{x,-4,4},PlotRange->{-2,2},PlotLabel->"The Witch of Agnesi (Maria Agnesi); HA at y=0",PlotStyle->{Thickness[0.01]}]

Plot[{(x^2+x-2)/(x-2),x+3},{x,-8,8},PlotRange->{-4,14},PlotLabel->"A slant asymptote: y=x+3",PlotStyle->{Thickness[0.01]}]

f[x_]:=x^2+1/(x-2);
?f
Plot[{(x^4+3x^2+2)/(x^2-4x+5),x^2+4x+14},{x,-10,10},PlotLabel->"A quadratic asymptote: y=x^2+4x+14",PlotStyle->{Thickness[0.005]}]

f[x_]:=x^2+1/(x-2);
Plot[{f[x]},{x,-4,4},PlotRange->{-20,20},PlotLabel->"Behavior near x=2 controlled by second term",PlotStyle->{Thickness[0.005]}]Plot[{f[x],x^2},{x,-30,30},PlotRange->{-200,200},PlotLabel->"End behavior controlled by polynomial term x^2",PlotStyle->{Thickness[0.005]}]Plot[{f[x],x^2},{x,-8,8},PlotRange->{-20,20},PlotLabel->"Transition zone",PlotStyle->{Thickness[0.005]}]