I am trying to generate the following plot
What I have managed to do so far can be seen below:
p1 = Graphics[{PointSize[0.017], Red,
Point[{0, Tan[1.01 0 + 1.9]}]}];
p2 = Graphics[{PointSize[0.017], Red,
Point[{2.5, Tan[1.01 2.5 + 1.9]}]}];
mainplot = Plot[Tan[1.01 x + 1.9], {x, 0, 2.5},
Axes > None,
Frame > {{False, False}, {True, False}},
FrameStyle > Directive[Black],
LabelStyle > {Thick},
FrameTicks > {{None, None}, {None, None}},
PlotStyle > {{Thickness[0.005], Blue}},
PlotRange > All,
Epilog > {Rotate[Text[Style["C", FontSize > 25], {1.23, 1.2}],
0]}];
By p1
in the code I denote the point that is the lower one; the $A_1,A_2$ and p2
is the other.
Now it is straightforward to call the above with a simple Show
command
Show[mainplot, p1, p2, ImageSize > Large]
which gives
There are three points that I do not understand how to do:

How can I include the $A_1$ and the $A_2$ above and below the point
p1
respectively. I tried to pass anEpilogue
command but it did not work. 
How can I make an arrow in the bottom axis? Here I tired using the
Arrowheads
inside theFramePlotStyle
but again I failed to do what I wanted. 
How can I include the $0$, the $r$ and the $infty$ symbols as are in the handmade picture? Here I had absolutely no idea how to go about it.