Translating & Stretching Graphs
Every curve you already know how to sketch — quadratics, cubics, reciprocals — can be shifted or squeezed into a new one, without any fresh sketching from scratch.
Outside changes vs inside changes
Given the graph of $y=f(x)$, changing the equation in one of four standard ways transforms the curve predictably. The single most useful question to ask is: is the change outside the function, or inside it?
Consider $y=f(x+2)$. To get the same output the original graph had at $x=0$, the new graph only needs $x=-2$ (so that $x+2=0$). Every feature therefore arrives 2 units earlier — the graph shifts left, not right, even though we added. Inside-the-bracket transformations always do the opposite of what the sign suggests, because you're changing the input before the function acts on it.
Translations
$f(x)+a$ (outside): shift up by $a$ (down if $a$ is negative) — every $y$-value increases by $a$, direction matches the sign.
$f(x+a)$ (inside): shift left by $a$ (right if $a$ is negative) — the direction is reversed from what the sign suggests.
Stretches
$a\,f(x)$ (outside): stretch vertically by scale factor $a$ — every $y$-value is multiplied by $a$.
$f(ax)$ (inside): stretch horizontally by scale factor $\dfrac{1}{a}$ — the reciprocal of $a$, and again the direction/size is reversed from the naive reading.
Outside $\Rightarrow$ vertical and intuitive (the sign or factor does what it looks like it should). Inside $\Rightarrow$ horizontal and reversed (opposite sign for shifts, reciprocal factor for stretches). That one check settles both direction and size every time.
Worked example 1
Use the word "translation" and give a column vector $\begin{pmatrix}3\\2\end{pmatrix}$ — the precise language mark schemes want. The reversal — $f(x-3)$ moving right — feels backwards until you remember inside-the-bracket flips the sign.
Worked example 2
The reciprocal is the trap: $f(2x)$ squashes the graph to half its width, not double it — doubling the input means the function reaches each value in half the horizontal distance. A vertical stretch $af(x)$ has no such reciprocal trap — $2f(x)$ really does double every $y$-value directly.
Worked example 3
Don't confuse $3x^2$ (a vertical stretch of $x^2$) with $(3x)^2=9x^2$ (a horizontal stretch, scale factor $\tfrac13$) — these look superficially similar but are completely different transformations. Always check exactly where the multiplying number sits relative to the function.
Worked example 4
Two transformations here — one inside, one outside — and the order in which they're applied to a specific point matters.
Because a horizontal (inside) change only ever touches the $x$-coordinate and a vertical (outside) change only ever touches the $y$-coordinate, the two updates to a single point can always be done independently and in either order — the coordinates never interact with each other. This is what makes tracking key points through a combined transformation manageable, even with several steps chained together.
When both a horizontal shift and a horizontal stretch act inside the same bracket, such as $f(2x-6)$, applying them in the wrong order changes the result — always factor the inside expression fully first, e.g. $f(2x-6)=f(2(x-3))$, to see the stretch and shift separately before describing them.
Check yourself
The point $B(3,5)$ lies on $y=f(x)$. Find the image of $B$ under $y=f(x+4)-6$, and describe the transformation as a single vector translation.
(Hint: the +4 is inside the bracket, the -6 is outside.)