# Tick labels above axis [duplicate]

Is there any way to place tick marks on the x-axis above the axis? Note that I am talking about marks on the axis, not on a frame (because my graph has no frame). To be more specific, here's the reason I need that: I have a graph of a lower semi-circle with some shading generated by the following code:

ClearAll[x, y, a];
gthick = Thickness[0.005];
g1 = RegionPlot[x^2 + y^2 < 1 , {x, -1, 1}, {y, -0.6, 0}, Frame -> False];
g2 = Plot[-Sqrt[1 - x^2], {x, -1, 1}, PlotStyle -> {Red, gthick}];
g3 = ListLinePlot[{{-0.8, -0.6}, {0.8, -0.6}}, PlotStyle -> {Blue, gthick}];
g4 = Graphics[{Dashing[Small], Line[{{-0.8, -0.6}, {-0.8, 0}}],
Line[{{0.8, -0.6}, {0.8, 0}}]}];
Show[{g1, g2, g3, g4}, PlotRange -> {{-1.2, 1.2}, {-1.2, 0.2}},
AspectRatio -> Automatic, Axes -> True, AxesOrigin -> {0, 0},
Ticks -> {{{-1.05, -1, 0}, {-0.65, -Sqrt[1 - a^2], 0}, {0.65, Sqrt[1 - a^2], 0},
{1.05, 1, 0}}, None}, TicksStyle -> Directive[FontSize -> 15]]


And the output (anybody can check that) is:

Anybody can see that on a picture like this, so that it looks nice, tick labels should be above the x-axis. But how?

P.S. (edited) I know that I can add text on the graph at desired positions. But can it be achieved with tick labels being tick labels, thru some options?

• Even without that, here's a simple modification to yours that achieves the same look: Show[{g1, g2, g3, g4}, PlotRange -> {{-1.2, 1.2}, {-1.2, 0}}, AspectRatio -> Automatic, Axes -> True, AxesOrigin -> {0, 0}, FrameTicks -> {{{-1.05, -1, 0}, {-0.65, -Sqrt[1 - a^2], 0}, {0.65, Sqrt[1 - a^2], 0}, {1.05, 1, 0}}, None}, TicksStyle -> Directive[FontSize -> 15], Frame -> {False, False, True, False}, PlotRangePadding -> 0]