You are viewing a free preview of this lesson.
Subscribe to unlock all 10 lessons in this course and every other course on LearningBro.
Graph transformations form a unifying theme of A-Level Pure Mathematics. Once you understand how a small change in the equation of a function y=f(x) produces a predictable change in its graph, you can sketch entire families of curves without plotting points and without recalculating gradients from scratch. The same machinery powers your work with trigonometric graphs in Section 5, exponentials and logarithms in Section 14, modulus functions (lesson 9), and even the calculus of composite functions through the chain rule. This lesson develops the four single transformations — translations, stretches and reflections — explains why "inside-the-bracket" changes act in the opposite sense from what intuition suggests, and shows how to combine transformations correctly when the order matters.
This lesson is aligned with the Edexcel 9MA0 specification, Pure Mathematics Paper 1 — Section 2.9 (graphs of functions; transformations of graphs). It draws on Section 2.7 (modulus functions, lesson 9), Section 2.8 (composition of functions), Section 5 (trigonometric graphs), Section 14 (exponentials and logarithms) and Section 2.6 (polynomials, lesson 5). Mark schemes for transformation questions typically blend AO1 (procedural sketching), AO2 (deducing the equation of a transformed graph from a description) and AO3 (interpreting transformations in modelling contexts).
There are four "atomic" transformations of y=f(x) that you must be able to apply, recognise and reverse. Two are translations, two are stretches, and two more are reflections — but reflections are simply stretches with scale factor −1, so the framework is genuinely fourfold.
Adding a constant outside the function f shifts the entire graph up by a units (or down if a<0). Every point (x,y) on the original graph maps to (x,y+a). The x-coordinates are unchanged; the y-coordinates all increase by a. Asymptotes parallel to the x-axis move up by a; vertical asymptotes are unaffected.
Adding a constant inside the bracket shifts the graph left by a units (or right if a<0). Every point (x,y) maps to (x−a,y). This is the famous "do the opposite" rule: the sign of the shift on the x-axis is the opposite of the sign in the bracket. The reason is that to obtain the same output value, x must now be smaller by a, because f is being evaluated at x+a.
Multiplying f(x) by a constant a outside stretches the graph vertically by scale factor a. Points on the x-axis (where y=0) are fixed; every other point (x,y) maps to (x,ay). If a<0 the graph is also reflected in the x-axis; if 0<a<1 the stretch is a compression.
Multiplying the input x by a constant a stretches the graph horizontally by scale factor a1 — again the inverse of what naive intuition expects. Points on the y-axis are fixed; every other point (x,y) maps to (ax,y). If a>1 the graph is compressed horizontally; if 0<a<1 it is stretched.
This is the special case a=−1 of a vertical stretch. Every y-coordinate changes sign. Maxima become minima, points above the x-axis move below it, and the x-intercepts are fixed.
This is the special case a=−1 of a horizontal stretch. Every x-coordinate changes sign. The graph is flipped left–right; the y-intercept is fixed.
| Operation | Effect on graph | Effect on coordinates | Effect on equation |
|---|---|---|---|
| y=f(x)+a | Translation by (0a) (up if a>0) | (x,y)→(x,y+a) | Add a outside |
| y=f(x+a) | Translation by (−a0) (left if a>0) | (x,y)→(x−a,y) | Add a inside the bracket |
| y=af(x) | Vertical stretch, scale factor a | (x,y)→(x,ay) | Multiply outside by a |
| y=f(ax) | Horizontal stretch, scale factor a1 | (x,y)→(ax,y) | Multiply inside by a |
| y=−f(x) | Reflection in x-axis | (x,y)→(x,−y) | Negate outside |
| y=f(−x) | Reflection in y-axis | (x,y)→(−x,y) | Negate inside |
Notice the structural symmetry: outside changes act on y in the natural sense; inside changes act on x in the inverse sense. This is the single most important fact in the whole topic.
Many students arrive at A-Level having memorised the rules without understanding them. Here is the underlying logic. Consider y=f(x+3). To obtain a given output, say y=f(2), the expression in the bracket must equal 2, so x+3=2, i.e. x=−1. The point that was at x=2 on the original graph is now at x=−1 on the transformed graph — three units to the left. Adding 3 inside causes a shift of −3 along the x-axis.
The same logic applies to horizontal stretches. Consider y=f(2x). To reach y=f(6), we need 2x=6, i.e. x=3. The point originally at x=6 is now at x=3 — its x-coordinate has been halved, not doubled. Hence the scale factor is 21, not 2.
This inverse behaviour is not a quirk of notation: it is the same phenomenon you meet later when changing variable in integration, or when computing the Jacobian in multivariable calculus. The "input side" of a function always transforms contravariantly.
When two or more transformations act on the same axis, the order in which you apply them changes the final graph. Consider y=2f(x)+3. There are two operations on the right-hand side, both outside the function: a vertical stretch by factor 2 and a vertical translation by +3. Read the equation from the inside outwards, exactly as you would evaluate it for a numerical x:
The order is stretch then translate. Doing it the other way gives 2(f(x)+3)=2f(x)+6, a different graph.
The rule generalises. For transformations on the same axis, apply them in the order of evaluation: innermost first, outermost last. For inside-the-bracket changes the "innermost first" rule is reversed because of the contravariance — for y=f(2x−1) you should think of the input x being multiplied by 2 then 1 being subtracted, which corresponds to the stretch first, then translate of the input axis, but the visual effect is translate right by 21, then stretch by factor 21 if you prefer to factorise 2x−1=2(x−21) first. Factorising is usually safer; see the worked examples below.
For transformations on different axes (e.g. one vertical and one horizontal) the order does not matter because they act on independent coordinates.
To see exactly how the order of three transformations changes the final graph, take the parent function f(x)=x2 with vertex (0,0) and apply the following three operations in two different orders to produce y=2(x−1)2+3.
Order A — translate right, vertical stretch, translate up. Starting from y=x2 with vertex (0,0):
Order B — vertical stretch, translate up, translate right. Starting again from y=x2:
The two orders produce the same final equation here because the vertical stretch is centred on the x-axis and the only point with y=0 on the parent graph is the vertex itself. Now contrast this with Order C — translate up, vertical stretch, translate right:
Order C gives a different final equation because the vertical stretch was applied after a vertical translation, so the translation distance was doubled. The vertex is now at (1,6), three units higher than the intended (1,3). The takeaway: when stretches and translations act on the same axis, order matters; the safe procedure is "stretch first, then translate" on each axis, and to factorise inside the bracket so that the inside-the-bracket structure is unambiguous.
Let f(x)=x2. Sketch y=(x−2)2+1 and contrast it with the wrong-order graph that a careless student might produce.
Identifying the transformations. Compare with y=f(x−2)+1. Inside the bracket, −2 produces a translation right by 2; outside, +1 produces a translation up by 1. Since these act on different axes, the order is immaterial. The vertex of y=x2 at (0,0) moves to (2,1); the parabola opens upwards with the same width.
Wrong-order trap. A student who reads "x−2" as "shift left by 2" produces a vertex at (−2,1) — a graph that is the reflection of the correct one in the y-axis (after the upward shift). Always factorise inside the bracket and apply the inverse-of-effect rule.
Sketch. The correct graph is a parabola with vertex (2,1), y-intercept 5, and no real x-intercepts (since the minimum value is 1>0).
Let f(x)=x3. Sketch y=−2f(x)−4=−2x3−4.
Reading the right-hand side from inside out:
The order matters: applying "down by 4" first then "stretch by −2" would give y=−2(x3−4)=−2x3+8, a completely different graph with y-intercept +8.
Sketch y=3sin(2x−3π)+1 for 0≤x≤2π, identifying amplitude, period, horizontal shift and vertical shift, and tracking the four key points of the parent sine curve through each stage.
Step 1 — factorise the bracket. Write 2x−3π=2(x−6π) so the equation becomes y=3sin(2(x−6π))+1. Factorising is essential because the inside-the-bracket transformations must be applied in the order: stretch first, translate second.
Step 2 — identify the four transformations.
Step 3 — track the four key points of y=sinx. The parent curve passes through (0,0), (2π,1), (π,0), (23π,−1), (2π,0).
| Stage | Equation | (0,0) | (2π,1) | (π,0) | (23π,−1) |
|---|---|---|---|---|---|
| Parent | y=sinx | (0,0) | (2π,1) | (π,0) | (23π,−1) |
| After horizontal stretch by 21 | y=sin2x | (0,0) | (4π,1) | (2π,0) | (43π,−1) |
| After translate right by 6π | y=sin(2(x−6π)) | (6π,0) | (125π,1) | (32π,0) | (1211π,−1) |
| After vertical stretch by 3 | y=3sin(2(x−6π)) | (6π,0) | (125π,3) | (32π,0) | (1211π,−3) |
| After translate up by 1 | y=3sin(2(x−6π))+1 | (6π,1) | (125π,4) | (32π,1) | (1211π,−2) |
Step 4 — sketch. The final curve is a sinusoid of amplitude 3, period π, centre line y=1, with the "ascending zero" of the parent shifted to (6π,1). It completes two full cycles in 0≤x≤2π: the first maximum is at (125π,4) and the second at (1217π,4); the minima are at (1211π,−2) and (1223π,−2). The order in which you apply the inside-the-bracket steps matters: had you translated before stretching, the phase shift would have been 3π rather than 6π — the most common A-Level trig-transformation mistake.
A graph passes through (1,5), has a minimum at (3,1) and an asymptote y=1. It is known to be of the form y=ae−(x−b)+c. Find a, b and c.
Step 1 — read off the asymptote. Since e−(x−b)→0 as x→∞, the horizontal asymptote of the transformed curve is y=c. Hence c=1.
Step 2 — use the minimum. The function e−(x−b) is strictly decreasing, so y=ae−(x−b)+c has a minimum only if a<0 and we restrict the domain (or interpret the "minimum at (3,1)" as the limiting value as x→∞ when a>0). Here we interpret it as the asymptotic minimum: a>0 and the graph approaches 1 from above as x→∞, with the value at x=3 being indistinguishable from 1 on the sketch.
Step 3 — use the point. Substituting (1,5): 5=ae−(1−b)+1, so aeb−1=4.
This is one equation in two unknowns; the candidate would be told a further condition in the exam (e.g. the value at x=0, or the value of b). Suppose additionally b=1: then a=4 and the equation is y=4e−(x−1)+1.
This question type rewards methodical reading of features (asymptotes, intercepts, turning points) and matching them to the parameters of the transformation.
A transformation applied to f corresponds to a related — and crucially, opposite — transformation applied to its inverse f−1. Suppose g(x)=f(x)+a, i.e. the graph of f has been translated up by a. Then g and f−1 are linked by the algebraic chain y=f(x)+a⇔y−a=f(x)⇔x=f−1(y−a), so swapping x and y to obtain the inverse gives g−1(x)=f−1(x−a). A vertical translation outside the function f becomes a horizontal translation inside the inverse f−1, with the opposite sign.
Worked example. Let f(x)=ex, with inverse f−1(x)=lnx (defined for x>0). Define g(x)=ex+5. The graph of g is the graph of ex translated up by 5, with horizontal asymptote y=5 and range g(x)>5. Its inverse is found by writing y=ex+5, so y−5=ex, hence x=ln(y−5), giving g−1(x)=ln(x−5). The graph of g−1 is therefore the graph of lnx translated right by 5, with vertical asymptote x=5 and domain x>5. Notice the symmetry: the horizontal asymptote y=5 of g becomes the vertical asymptote x=5 of g−1, exactly as expected from reflection in y=x. The same principle gives: a vertical stretch outside f corresponds to a horizontal stretch inside f−1; a reflection in the x-axis on f becomes a reflection in the y-axis on f−1. Asking yourself "what happens to the inverse?" is a powerful self-check on a transformation question.
Subscribe to continue reading
Get full access to this lesson and all 10 lessons in this course.