Problem: line stops at given coordinates, ymax is not obeyed.
\documentclass[a4paper,10pt]{report}
\usepackage[left=1.5cm,top=2cm,right=1.5cm,bottom=1.5cm]{geometry}
\usepackage[table,usenames,dvipsnames]{xcolor}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{
width=\textwidth,
}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
ybar,ymax=100,enlarge y limits={upper,value=1},
height=8cm,
enlargelimits=0.25,
ylabel={Uptime \%},
symbolic x coords={Mar '12,Apr '12,May '12},
xtick=data,
nodes near coords=\rotatebox{90}{\scriptsize\pgfmathprintnumber\pgfplotspointmeta},
]
\addplot[draw=blue,fill=blue!40!white] coordinates {(Mar '12,100) (Apr '12,100) (May '12,100)};
\addplot[draw=Salmon,fill=Salmon!40!white] coordinates {(Mar '12,100) (Apr '12,100) (May '12,100)};
\addplot[draw=yellow,fill=yellow!40!white] coordinates {(Mar '12,99.86) (Apr '12,99.47) (May '12,99.37)};
\addplot[draw=RawSienna,fill=RawSienna!40!white] coordinates {(Mar '12,100) (Apr '12,100) (May '12,99.98)};
\addplot[draw=purple,fill=purple!40!white] coordinates {(Mar '12,99.69) (Apr '12,98.79) (May '12,97.91)};
\addplot[draw=cyan,fill=cyan!40!white] coordinates {(Mar '12,100) (Apr '12,100) (May '12,100)};
\addplot[draw=magenta,fill=magenta!40!white] coordinates {(Mar '12,100) (Apr '12,100) (May '12,99.96)};
\addplot[draw=LimeGreen,fill=LimeGreen!40!white] coordinates {(Mar '12,100) (Apr '12,100) (May '12,99.99)};
\addplot[draw=red,fill=red!40!white] coordinates {(Mar '12,100) (Apr '12,100) (May '12,99.99)};
\addplot[red,sharp plot] coordinates {(Mar '12,98) (May '12,98)} node[above] at (axis cs:Apr '12,98) {KPI};
\end{axis}
\end{tikzpicture}
\end{document}
Now I like to have a continuous line at 98% without the labels but with the KPI label, and the y axis should stop at 100. Is this possible?

({rel axis cs:0,0}|-{axis cs:May '12,98}) -- ({rel axis cs:1,0}|-{axis cs:May '12,98})pretty clever trick, the line spans the how axis regardless of theaxis csvalue. – alfC May 06 '13 at 21:33