- How to understand the original graph written as y=f(x)y=f(x)y=f(x).
- How changes outside the bracket affect the yyy-values.
- How changes inside the bracket affect the xxx-values — often the opposite of what you expect.
- How to describe translations, stretches and reflections clearly in exam language.
Before transforming graphs, you need to be comfortable with function notation.
Function notation
f(x)f(x)f(x) means “the value of the function when the input is xxx”. The graph y=f(x)y=f(x)y=f(x) is the original graph before any transformation has happened.
Think of the graph as a collection of points. If the original graph y=f(x)y=f(x)y=f(x) contains the point (2,5)(2,5)(2,5), that means when x=2x=2x=2, the output is y=5y=5y=5.
A transformation changes where the points go. Instead of redrawing everything from scratch, you can track how each coordinate changes.
Point tracking
A graph transformation can be understood by asking: “What happens to every point (x,y)(x,y)(x,y) on the original graph?”
Reading a point from y=f(x)
The graph y=f(x)y=f(x)y=f(x) passes through the points (−2,4)(-2,4)(−2,4), (0,1)(0,1)(0,1) and (3,6)(3,6)(3,6). What does this tell us about f(3)f(3)f(3)?
-
Find the point where the xxx-coordinate is 3.
-
The matching yyy-coordinate is 6.
-
Therefore, f(3)=6f(3)=6f(3)=6.
There are two main places a transformation can appear:
- Outside the function, such as y=f(x)+3y=f(x)+3y=f(x)+3 or y=2f(x)y=2f(x)y=2f(x).
- Inside the bracket, such as y=f(x−4)y=f(x-4)y=f(x−4) or y=f(3x)y=f(3x)y=f(3x).
Outside vs inside
Changes outside the bracket affect the yyy-values and do what they say. Changes inside the bracket affect the xxx-values and usually do the opposite.
These transformations are easiest to understand by comparing the original graph with the transformed graph.

A translation is a slide of a graph. Its shape and size do not change.
Vertical translation
A vertical translation moves every point up or down. In y=f(x)+ay=f(x)+ay=f(x)+a, add aaa to every yyy-value.
For example:
- y=f(x)+4y=f(x)+4y=f(x)+4 moves the graph up 4.
- y=f(x)−7y=f(x)-7y=f(x)−7 moves the graph down 7.
The xxx-coordinates stay the same.
Moving a graph upwards
A point on y=f(x)y=f(x)y=f(x) is (2,−3)(2,-3)(2,−3). Find where this point moves on y=f(x)+5y=f(x)+5y=f(x)+5.
-
The transformation is outside the bracket, so it changes the yyy-value.
-
It says +5, so add 5 to the original yyy-coordinate.
-
The xxx-coordinate stays as 2.
-
The new yyy-coordinate is −3+5=2-3+5=2−3+5=2.
-
The point moves to (2,2)(2,2)(2,2).
Changing the wrong coordinate
For y=f(x)+5y=f(x)+5y=f(x)+5, do not add 5 to the xxx-coordinate. The +5 is outside the bracket, so it changes the yyy-values only.
A stretch makes a graph wider, narrower, taller or shorter. For y=af(x)y=af(x)y=af(x), the multiplier is outside the function, so it changes the yyy-values.
Vertical stretch
The graph y=af(x)y=af(x)y=af(x) multiplies every yyy-value by aaa. This is a vertical stretch with scale factor aaa.
For example:
- y=3f(x)y=3f(x)y=3f(x) multiplies all yyy-values by 3.
- y=12f(x)y=\frac{1}{2}f(x)y=21f(x) halves all yyy-values.
- y=−f(x)y=-f(x)y=−f(x) multiplies all yyy-values by -1, giving a reflection in the xxx-axis.
Reflection
A reflection flips a graph in a mirror line. The graph y=−f(x)y=-f(x)y=−f(x) is a reflection of y=f(x)y=f(x)y=f(x) in the xxx-axis.
Vertical stretch from coordinates
The graph y=f(x)y=f(x)y=f(x) passes through (−1,4)(-1,4)(−1,4), (0,−2)(0,-2)(0,−2) and (3,5)(3,5)(3,5). Find the matching points on y=2f(x)y=2f(x)y=2f(x).
-
The multiplier 2 is outside the bracket, so it affects the yyy-values.
-
Keep each xxx-coordinate the same.
-
Double each yyy-coordinate: 4 becomes 8, -2 becomes -4, and 5 becomes 10.
-
The transformed points are (−1,8)(-1,8)(−1,8), (0,−4)(0,-4)(0,−4) and (3,10)(3,10)(3,10).
Reflection in the x-axis
A point on y=f(x)y=f(x)y=f(x) is (−4,7)(-4,7)(−4,7). Find where it moves on y=−f(x)y=-f(x)y=−f(x).
-
The negative sign is outside the bracket, so it changes the yyy-value.
-
Multiplying the yyy-coordinate by -1 changes 7 to -7.
-
The xxx-coordinate stays as -4.
-
The point moves to (−4,−7)(-4,-7)(−4,−7).

Now comes the part students often find strange.
When the change is inside the bracket, it affects the xxx-values. But it does the opposite.
Horizontal translation
A horizontal translation moves every point left or right. In y=f(x−a)y=f(x-a)y=f(x−a), the graph moves right by aaa. In y=f(x+a)y=f(x+a)y=f(x+a), the graph moves left by aaa.
Examples:
- y=f(x−6)y=f(x-6)y=f(x−6) moves the graph right 6.
- y=f(x+2)y=f(x+2)y=f(x+2) moves the graph left 2.
Why is x−6x-6x−6 a move right? Because to get the same input as before, the new xxx-value must be 6 bigger.
Moving a graph to the right
A point on y=f(x)y=f(x)y=f(x) is (1,5)(1,5)(1,5). Find where it moves on y=f(x−4)y=f(x-4)y=f(x−4).
-
The change is inside the bracket, so it affects the xxx-value.
-
Inside the bracket says -4, so do the opposite: add 4 to the xxx-coordinate.
-
The new xxx-coordinate is 1+4=51+4=51+4=5.
-
The yyy-coordinate stays as 5.
-
The point moves to (5,5)(5,5)(5,5).
Moving a graph to the left
A point on y=f(x)y=f(x)y=f(x) is (−3,2)(-3,2)(−3,2). Find where it moves on y=f(x+7)y=f(x+7)y=f(x+7).
-
The change is inside the bracket, so it affects the xxx-value.
-
Inside the bracket says +7, so do the opposite: subtract 7 from the xxx-coordinate.
-
The new xxx-coordinate is −3−7=−10-3-7=-10−3−7=−10.
-
The yyy-coordinate stays as 2.
-
The point moves to (−10,2)(-10,2)(−10,2).
Quick memory trick
Outside: yyy does what it says. Inside: xxx does the opposite.
A change like y=f(2x)y=f(2x)y=f(2x) is also inside the bracket, so it affects the xxx-values.
Horizontal stretch or compression
The graph y=f(kx)y=f(kx)y=f(kx) changes every xxx-value by dividing it by kkk. So y=f(2x)y=f(2x)y=f(2x) halves the xxx-values, and y=f(13x)y=f(\frac{1}{3}x)y=f(31x) triples the xxx-values.
This is why y=f(2x)y=f(2x)y=f(2x) looks narrower: every point is pulled closer to the yyy-axis.
Horizontal compression
A point on y=f(x)y=f(x)y=f(x) is (8,3)(8,3)(8,3). Find where it moves on y=f(2x)y=f(2x)y=f(2x).
-
The 2 is inside the bracket, so it affects the xxx-value.
-
Because inside changes do the opposite, divide the xxx-coordinate by 2.
-
The new xxx-coordinate is 8÷2=48 \div 2=48÷2=4.
-
The yyy-coordinate stays as 3.
-
The point moves to (4,3)(4,3)(4,3).
Horizontal stretch
A point on y=f(x)y=f(x)y=f(x) is (−2,6)(-2,6)(−2,6). Find where it moves on y=f(14x)y=f(\frac{1}{4}x)y=f(41x).
-
The multiplier 14\frac{1}{4}41 is inside the bracket, so it affects the xxx-value.
-
Divide by 14\frac{1}{4}41, which is the same as multiplying by 4.
-
The new xxx-coordinate is −2×4=−8-2 \times 4=-8−2×4=−8.
-
The yyy-coordinate stays as 6.
-
The point moves to (−8,6)(-8,6)(−8,6).
Multiplying instead of dividing
For y=f(3x)y=f(3x)y=f(3x), the xxx-values are divided by 3, not multiplied by 3. Inside the bracket means opposite effect.
There are two common reflections you need to recognise.
This is outside the bracket, so it changes the yyy-values. Every yyy-coordinate is multiplied by -1.
A point (x,y)(x,y)(x,y) becomes (x,−y)(x,-y)(x,−y).
This is inside the bracket, so it changes the xxx-values. Every xxx-coordinate is multiplied by -1.
A point (x,y)(x,y)(x,y) becomes (−x,y)(-x,y)(−x,y).
Choosing the correct mirror line
A point on y=f(x)y=f(x)y=f(x) is (6,−4)(6,-4)(6,−4). Find where it moves on y=f(−x)y=f(-x)y=f(−x).
-
The negative sign is inside the bracket, so it affects the xxx-value.
-
Multiply the xxx-coordinate by -1: 6 becomes -6.
-
The yyy-coordinate stays as -4.
-
The point moves to (−6,−4)(-6,-4)(−6,−4).
-
This is a reflection in the yyy-axis.
At Grade 8/9, you may see more than one transformation at once, such as y=3f(x−2)−1y=3f(x-2)-1y=3f(x−2)−1.
Handle this carefully:
- Inside the bracket affects xxx.
- Outside the bracket affects yyy.
- Work with coordinates if the graph has key points.
Combining a horizontal shift and vertical change
A point on y=f(x)y=f(x)y=f(x) is (4,5)(4,5)(4,5). Find where it moves on y=2f(x−3)−7y=2f(x-3)-7y=2f(x−3)−7.
-
Look inside the bracket first: x−3x-3x−3 means the xxx-values increase by 3.
-
The new xxx-coordinate is 4+3=74+3=74+3=7.
-
Now look outside the bracket: 2f(x−3)−72f(x-3)-72f(x−3)−7 means double the yyy-value, then subtract 7.
-
The new yyy-coordinate is 2×5−7=32 \times 5-7=32×5−7=3.
-
The point moves to (7,3)(7,3)(7,3).
Order matters with vertical changes
In y=2f(x)−7y=2f(x)-7y=2f(x)−7, the original yyy-values are multiplied by 2 first, then 7 is subtracted. So a point with y=5y=5y=5 becomes 3, not -4.
In exams, you may be asked to describe the transformation fully. Be precise.
Good descriptions include:
- the type of transformation: translation, stretch, compression or reflection;
- the direction or axis, if needed;
- the number of units or scale factor.
Describing transformations
Describe the transformation from y=f(x)y=f(x)y=f(x) to y=f(x+5)y=f(x+5)y=f(x+5).
-
The change is inside the bracket, so it affects the xxx-values.
-
Inside says +5, so do the opposite: move left 5.
-
The transformation is a translation 5 units to the left.
Using the correct scale factor
Describe the transformation from y=f(x)y=f(x)y=f(x) to y=f(4x)y=f(4x)y=f(4x).
-
The 4 is inside the bracket, so it affects the xxx-values.
-
The xxx-values are divided by 4.
-
The graph is compressed horizontally by scale factor 14\frac{1}{4}41.
In the exam
-
First decide whether the change is outside or inside the bracket.
-
For outside changes, alter the yyy-values exactly as written.
-
For inside changes, alter the xxx-values using the opposite effect.
-
If stuck, pick one clear point on the graph and track where it moves.
Check yourself
-
What happens to the graph of y=f(x)y=f(x)y=f(x) when it becomes y=f(x−8)y=f(x-8)y=f(x−8)?
-
A point (3,−2)(3,-2)(3,−2) lies on y=f(x)y=f(x)y=f(x). Where does it move on y=−3f(x)y=-3f(x)y=−3f(x)?
-
Why does y=f(5x)y=f(5x)y=f(5x) make the graph narrower rather than wider?