Please note that I am not using the pin option of a node as in How can I force TikZ pin angle? and TikZ node pin angle in 2D plot, but am instead using the pin in data option in a TikZ data visualization.
I have a curve with a pinned label:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{datavisualization}
\usetikzlibrary{datavisualization.formats.functions}
\begin{document}
\tikz[scale=4]
\datavisualization[
school book axes,
visualize as smooth line=myfunction,
myfunction={pin in data={text=$f(x)$, when=x is 0.5, pin angle=90}}]
data [set=myfunction, format=function] {
var x : interval [0:1];
func y = \value x^2;
};
\end{document}
As might be inferred from my setting pin angle to 90, I want the pin to be precisely vertical. I learned from the TikZ manual (§ 61.8.2) that what this tag actually does (along with pin length) is introduce an additional offset of the label, after the label has already been offset by whatever algorithm label in data uses. As a consequence, we are adding the diagonal vector from label in data to my vertical (pin angle=90) vector, and we do not get a vertical resultant vector.
I want my pin to be vertical. How can I make it behave?
