I don't know what about the plot you would like to improve, but this would put a + in front of the positive tick marks and extend the ticks to the negative side of the axes
Plot[Round[n], {n, -3, 3}, AspectRatio -> Automatic, Exclusions -> None, AxesLabel -> {Input, Output}, Ticks -> Function[{xmin, xmax}, Table[{i, Row[{NumberForm[i, NumberSigns -> {"-", "+"}], "Q"}], {.02, .02}}, {i, Floor[xmin], Ceiling[xmax]}]] ]

Slightly updated version in case you want +Q instead of +1Q
Plot[Round[n], {n, -3, 3}, AspectRatio -> Automatic, Exclusions -> None, AxesLabel -> {Input, Output}, Ticks -> Function[{xmin, xmax}, Table[{i, Row[{Switch[i, 1, "+", -1, "-", _, NumberForm[i, NumberSigns -> {"-", "+"}]], "Q"}], {.02, .02}}, {i, Floor[xmin], Ceiling[xmax]}] ] ]

Final version incorporating the comment of the OP
Plot[Round[n], {n, -3, 3}, AspectRatio -> Automatic, Exclusions -> None, AxesLabel -> {Input, Output}, Ticks -> Function[{xmin, xmax}, Table[{i, Row[{ Switch[i, 1, "+", -1, "-", _, NumberForm[i, NumberSigns -> {"-", "+"}]], "Q"}], {.02, .02}}, {i, Floor[xmin], Ceiling[xmax]}]], AxesStyle -> With[{head = {Graphics[{Polygon[{{-1, 0.5`}, {0, 0}, {-1, -0.5`}}]}], 0.98`}}, Directive[Arrowheads[{{-0.03, 0, head}, {0.03, 1, head}}]] ] ]
