It looks like when I try to scale coordinate data in a pgfplots, I cannot do it in log scale simply, since the expression filter seems to be applied to the final point and not the table value.
For example, I expect these two commands to produce basically the same plot:
\documentclass{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[ymode=log] % ymode=normal works well!
\addplot+[] table[
x expr=\thisrow{X}*1., y expr=\thisrow{Y}*3, row sep=\\
]{
X Y \\
1 1.1 \\
2 11 \\
3 110 \\
} node[]{};
\addplot+[x filter/.code={\pgfmathparse{\pgfmathresult*1.}\pgfmathresult},
y filter/.code={\pgfmathparse{\pgfmathresult*3.}\pgfmathresult}]
plot coordinates
{
( 1, 1 )
( 2, 10)
( 3, 100)
};
\end{axis}
\end{tikzpicture}
\end{document}
However I get this,

where the red line (coordinates version) is not the expected result. For example the last red point is about 10^6 and not about 300.
(Using ymode=normal produces the expected graph)
Obviously y filter/.code is not doing what I expected. I remember reading something about this in the manual. Maybe it is by design.
The question is: Is there another way of applying this transformation so it works for linear and log plot (just changing the value of ymode)? Or I have to switch to the plot table-based code altogether?

\pgfmathresultis already the log of the coordinate in the filter. So it needs\pgfmathresult+log10(3))instead of a multiplication. – percusse Jun 10 '14 at 06:36\addplot tablebased plots, since they're more powerful and in my opinion also more convenient. Do you have a particular reason for wanting to stick with\addplot coordinates? – Jake Jun 10 '14 at 07:23tableexclusively from now on, since I always findcoordinatesto behave oddly with respect to transformations (I need the feature to convert units in plots). For example another "problem"/odd behavior I found is http://tex.stackexchange.com/questions/154084/how-to-scale-both-data-and-error-bars-in-pgfplots – alfC Jun 10 '14 at 07:30